Ich verwende zuerst CTP5 des Codes. Nehmen Sie die folgende einfache Klasse und zugehörige DbContextEntity Framework - Code Erste verknüpfte Sammlungen in der Datenbank nicht generiert
public class Test
{
public Test()
{
Keywords = new Collection<string>();
}
public int Id { get; set; }
public string Name { get; set; }
public ICollection<string> Keywords { get; set; }
}
public class TestDbContext : DbContext
{
public TestDbContext()
{
Database.Delete();
Database.CreateIfNotExists();
}
public DbSet<Test> Tests { get; set; }
protected override void OnModelCreating(System.Data.Entity.ModelConfiguration.ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
Der Typ ‚System.Collections.Generic.ICollection‘ muss ein Nicht-Nullable-Wertetyp sein, um es zu benutzen als Parameter ‚T‘ in gattungs oder Methode ‚System.Data.Entity.ModelConfiguration.Configuration.Types.StructuralTypeConfiguration .Property (System.Linq.Expressions.Expression>)‘
Irgendwelche Ideen, wie die notwendigen Tabellenbeziehungen zwischen Testklasse und den Schlüsselwörtern Eigenschaft erstellen?
Danke, aber warum muss eine Klasse dafür erstellen? Es gibt keine Möglichkeit, die Beziehung von ICollection abzuleiten? –
Fixer
Nicht sicher, aber ich denke, dass Sie Klassen für alle Daten hinzufügen sollten, die Sie speichern, da Sie POCO-Objekte der Datenbank zuordnen, keine Basistypen. –
Danke das funktioniert, aber wie kann ich die Test.Id aus der Stichwörter-Tabelle fallen lassen und die Test-Klasse-Beziehung auf einem FK auf Keywords.Id basieren? – Fixer