J'utilise d'abord le code CTP5 du code. Prenez la classe simple suivante et DbContextEntity Framework - Code Tout d'abord, ne pas générer de collections associées dans la base de données
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);
}
}
associée Le type « System.Collections.Generic.ICollection » doit être un type de valeur non annulable afin de l'utiliser comme paramètre « T » dans le type générique ou méthode « System.Data.Entity.ModelConfiguration.Configuration.Types.StructuralTypeConfiguration .Property (System.Linq.Expressions.Expression>) »
Toute idée comment créer les relations de table nécessaires entre la classe de test et la propriété des mots-clés?
Merci, mais pourquoi créer une classe pour cela? Il n'y a aucun moyen d'inférer la relation de ICollection? –
Fixer
Je ne suis pas sûr, mais je pense, que vous devriez ajouter des classes pour toutes les données que vous stockez, car vous mappez les objets POCO à la base de données, pas aux types de base. –
Merci cela fonctionne, mais comment puis-je supprimer le test.Id de la table de mots-clés et faire la relation de classe de test sur la base d'un FK sur Keywords.Id? – Fixer