J'utilise EF Code First avec une base de données préexistante.Code EF Premier renvoi d'objets associés
Deux objets:
public Foo
{
public int FooId {get;set;}
}
public Bar
{
public int BarId {get;set;}
public virtual Foo Foo {get;set;}
}
Les deux FooId
et BarId
sont les clés primaires dans la base de données, et la table Bar
a une colonne FooId
qui est une clé étrangère pointant à la table Foo
. Lorsque je sélectionne un Bar
, Foo
est une référence nulle. J'aurais cru qu'EF les aurait automatiquement séparés, mais peut-être qu'il me manque quelque chose?
applications de base de données:
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");
}
}
Pouvez-vous également publier votre première correspondance de code? Que se passe-t-il si vous appelez la requête avec Include ("Foo")? –
Si je 'Include (" Foo ")' ça marche. – mattdwen