实体框架可以按ID自动更新属性导航

时间:2011-10-28 13:51:53

标签: c# entity-framework

在Entity Framework中,当我通过设计器将我的表映射到相应的实体并实际使用它们时,我会发现一个实体 - Thing,它有一个关系(多对一,或者一对一)与另一个对象,例如Bob,会在Thing上生成以下三个属性:

Bob
BobId
BobReference

我是否要设置BobId并保存我的实体,下次我获取此Thing时,我将能够毫无困难地导航Bob属性。但是,如果可以配置EF以允许我导航属性而不必立即保存,我很好奇。

1 个答案:

答案 0 :(得分:1)

您可以这样做:(EF 4.1)

//Has to exists a record on Bob table with Id = 1
var thing = new Thing() { BobId = 1 };

var context = new YouContext();
context.Entry(thing ).State = EntityState.Unchanged;
context.Entry(thing ).Reference(x => x.Bob).Load();

然后是thing.Bob是!= null