Im en utilisant EF CTP 4. J'ai une simple application console (à des fins de test) qui est de l'utilisation de EF pour insérer des données dans une base de données SQL.
Je suis venu à un problème sur l'insertion de l'élément
using(var context = GetContext())
{
BOB b = new BOB();
b.Id = 1;
context.Bobs.Add(b);
context.SaveChanges();
}
Il génère l'erreur: {"Impossible d'insérer la valeur NULL dans la colonne 'Id', table 'TestDB.dbo.BOB"; la colonne n'autorise pas les valeurs null. INSERTION échoue.\r\nle instruction a été arrêtée."}
La Table a juste 1 champ d' Id int not NULL qui est la clé primaire et n'est pas une auto incrémenté Id.
Sur la création du DataContext j'ai cette configuration, qui oui ne me faire virer.
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<BOB>().HasKey(b => b.Id);
builder.Entity<BOB>().MapSingleType().ToTable("BOB");
}
J'ai aussi pré-remplis ce tableau, et ensuite à travers le débogueur été en mesure de via regarder la charge jusqu'à ce que BOB objet... donc, je suis vraiment perplexe, comme pour être en mesure de charger mon BOB montre que tout va bien... cependant, au moment de l'insertion d'un nouveau, qu'il se bloque...