我使用EF代碼優先與預先存在的數據庫。EF代碼首先不返回相關對象
兩個對象:
public Foo
{
public int FooId {get;set;}
}
public Bar
{
public int BarId {get;set;}
public virtual Foo Foo {get;set;}
}
兩個FooId
和BarId
是在數據庫中的主鍵,並將Bar
表具有列FooId
其是在Foo
表的外鍵指向。
當我選擇Bar
時,Foo
是空引用。我原以爲EF會自動將他們兩個拉到一起,但也許我錯過了什麼?
數據庫映射:
public class EFCodeFirst : DbContext
{
public EFCodeFirst()
{
this.Database.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["AlternateString"].ConnectionString;
}
public DBSet<Foo> Foos {get;set;}
public DBSet<Bar> Bars {get;set;}
protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
{
modelBuilder.IncludeMetadataInDatabase = false;
modelBuilder.Entity<Foo>().MapSingleType().ToTable("Foo");
modelBuilder.Entity<Bar>().MapSingleType().ToTable("Bar");
}
}
你還可以發佈你的代碼第一次映射嗎?如果您使用Include(「Foo」)調用查詢,會發生什麼情況? – 2010-11-19 10:46:00
如果我包括(「Foo」)'它的工作。 – mattdwen 2010-11-20 02:08:55