Я использую 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»)? –
Если я 'Include (" Foo ")' работает. – mattdwen