2011-07-22 3 views
0

J'essaie d'apprendre MVC3. Je suis juste en train d'essayer d'ajouter un utilisateur à un db.Entity Framework Ajouter l'utilisateur à l'erreur db

db.U1_Users.Add(u1_Users); 
db.SaveChanges(); 

L'erreur se produit lors de l'enregistrement. Je cela c'est un problème avec la fonction d'ajout.

Je reçois l'erreur

InnerException = {"Cannot insert the value NULL into column 'U1_UserID', table 
'Admin.dbo.U1_User'; column does not allow nulls. INSERT fails.\r\nThe statement has been terminated."} 

EDIT

U1_UserID est la clé primaire.

C'est le modèle:

public class U1_User 
    { 

     public int U1_UserID { get; set; } 
     public string U1_UserName {get;set;} 

    } 
+0

Cela se produit parce que la définition de votre modèle a un problème, s'il vous plaît que vous publiez le code source de la classe modèle. – dknaack

Répondre

0

nécessaire ..

[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
0

Attend assez simple pour moi. Vous devez vous assurer que la valeur est définie. Si vous voulez que ce soit un numéro automatique, vous devez le définir sur votre base de données.

Dans SQL SERVER, vous pouvez ouvrir la table en mode conception, accéder aux propriétés du tableau et sélectionner la colonne comme colonne d'identité. En outre, vous devriez faire du champ une clé primaire.

+0

Si vous utilisez Entity Framework Code Premièrement, ce n'est pas une bonne idée. – dknaack

0

Cela se produit parce que vous avez donné votre identifiant au mauvais nom.

La convention de nommage est:

 public int Id { get; set; } 

ou

 public int YourModelNameId { get; set; } 

Si vous souhaitez mapper à une base de données existante un regard sur le Modelbuilder dans ScottGu's Blog post: http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx

Ce qui suit va fonctionner:

public class U1_Users 
    { 
     [Key] 
     public int U1_UsersID { get; set; } 
     public string U1_UserName { get; set; } 

    } 
+0

U1_UserID est le nom du champ dans le DB – Beginner

+0

U1_Users est le nom de la table – Beginner

+0

Consultez le blog de ScottGu. C'est tout ce dont vous avez besoin. J'ai un lien dans ma réponse – dknaack

Questions connexes