Mam dwie klasy - autor i blogpost:Ładowanie odniesień w EF7
public class Author
{
public Author()
{
Blogposts = new HashSet<Blogpost>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Blogpost> Blogposts { get; set; }
}
i
public class Blogpost
{
public Blogpost()
{
}
// Properties
public int Id { get; set; }
public string Text { get; set; }
public int AuthorId { get; set; }
public Author Author { get; set; }
}
Korzystanie EF7 (beta4), ja im podłączenia następujący sposób:
public partial class MyDbContext : DbContext
{
public virtual DbSet<Author> Author { get; set; }
public virtual DbSet<Blogpost> Blogpost { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Author>(entity =>
{
entity.Property(e => e.Id)
.ForSqlServer().UseIdentity();
});
modelBuilder.Entity<Blogpost>(entity =>
{
entity.Property(e => e.Id)
.ForSqlServer().UseIdentity();
});
modelBuilder.Entity<Blogpost>(entity =>
{
entity.Reference<Author>(d => d.Author).InverseCollection(p => p.Blogposts).ForeignKey(d => d.AuthorId);
});
}
}
Kiedy mam dostępu do blogpost Db.Blogpost.First(x => x.Id == id)
odzyskać przedmiot blogpost - jednakWłaściwość 0 ma wartość NULL. Ponadto, po pobraniu dowolnego obiektu autora, jego kolekcja .Blogposts
jest pusta.
Rozumiem, że EF7 nie wdrożył jeszcze ładnego załadunku ani nie ma jeszcze luźnego ładowania. Ale w jaki sposób powinienem pobrać/przypisać dowolne obiekty przywoływane za pomocą klucza obcego?
uwaga dla każdego, kto nie jest w stanie odnaleźć „Dołącz” metoda: trzeba dodać 'przy użyciu Microsoft.Data.Entity;' u góry pliku. – gunr2171
Przestrzeń nazw została zmieniona. Musisz dodać 'using Microsoft.EntityFrameworkCore' dla Entity Framework Core 1.1.0. – Matt