0
我有一个产品对象及其中的相关类别。EF代码优先CTP5空子对象处理
我把产品和类别之间的关系看作是一对多的关系。但类别也可以为空。
麻烦是我似乎无法处理空的类别对象。
我想在我的产品类别如下:
private Category _category;
public virtual Category Category
{
get { return _category ?? (_category = new Category()); }
set { _category = value; }
}
而且在我的数据库上下文OnModelCreating方法:
modelBuilder.Entity<Product>()
.HasRequired(p => p.Category)
.WithMany(c => c.Products)
.HasForeignKey(p => p.CategoryId);
不幸的是在我的设计层访问Product.Category它总是返回新类别实例,而不是尝试通过Product.CategoryId(其中确实具有值)来拉类别。
如何设置我的模型来处理空类别?
模型可能不是这样做的最好的地方。我会建议创建一个部分类并在那里处理它。您需要在模型中处理它吗? – lukiffer 2011-04-05 09:59:29
但我在一个类(产品类)中处理它,虽然是的,那是模型...你是否建议在我的设计层和模型之间添加另一个层来检查空值? – bananaFly 2011-04-05 10:10:53
Btw。你知道CTP5是过时的版本吗?当前版本是EF 4.1 RC。 – 2011-04-05 18:12:03