2011-08-30 50 views
0
new ProductReadModel 
{ 
    Nr = (nr++).ToString(), 
    Abbreviation = "Ewb", 
    Name = "Some product", 
    BodyMaterial = context.BodyMaterialReadModels.FirstOrDefault(b => b.Abbreviation == "EDTA") 
} 

在数据库初始化过程中,我尝试填充我的表与EF代码第一播种机。在我的一个播种机中,我添加了所有的主体材料。在这一个我试图将这些bodymaterials与产品。当我调试时,我看到我的身体材料集合计数了14个项目。然而,在阅读此代码后,BodyMaterial属性为nullEF代码第一个查询和分配不保存更改

有什么建议吗?

回答

3

您正在对空数据库执行数据库查询。试试这个:

BodyMaterial = context.BodyMaterialReadModels.Local.FirstOrDefault(...); 

或直接使用您的BodyMaterialCollection。上下文中暴露的集合是数据库的入口点,而不是您未保留的实体(Local属性除外)。

+0

伟大的那个伎俩。不知何故,intellisense没有向我显示这个属性,但它编译和工作。 –