我正在使用带有 Code-First 的 EntityFramework 5.0。我有一个像这样的 POCO 类 Foo:
public class Bar
{
public int FooID { get; set; }
public virtual Foo Foo { get; set; }
public int OtherFooID { get; set; }
public virtual Foo OtherFoo { get; set; }
}
在我的 DbContext 中,延迟加载已打开。当我从上下文加载 Foo 时,属性“Foo”是延迟加载的,预期使用 FooID 作为外键。但是,无论我如何尝试,都不会加载“OtherFoo”。
Foo f = bar.Foo; // A proxy type, which loads in the data from the DB correctly
Foo f = bar.OtherFoo; // is null, not lazily loaded
Foo f = context.Bars.Include("OtherFoo").First(...).OtherFoo; // Still null
(如果重要的话,我有一个 UserProfile 表,并且我的模型对象有 CreatedByUser 和 LastModifiedByUser 字段,除非我将一个及其关联的 *ID 字段重命名为“User”,否则这两个字段都不起作用)
是否有我可以粘贴在这些字段上的属性来告诉 Entity 如何加载它们,或者如果我覆盖它,我可以在 DbContext.OnModelBuilding 方法中设置什么?