기존 데이터베이스와 함께 EF Code First를 사용하고 있습니다.EF 코드 처음으로 관련 객체를 반환하지 않습니다.
두 제품 :
public Foo
{
public int FooId {get;set;}
}
public Bar
{
public int BarId {get;set;}
public virtual Foo Foo {get;set;}
}
모두 FooId
및 BarId
는 데이터베이스의 기본 키, 그리고 Bar
표는 Foo
테이블에 외래 키 가리키는 열 FooId
있습니다.
Bar
을 선택하면 Foo
은 null 참조입니다. 나는 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")를 사용하여 쿼리를 호출하면 어떻게됩니까? –
I'Include ("Foo")가 작동하면. – mattdwen