Le membre avec de l'identité " n'existe pas dans les métadonnées de la collection.\r\nParameter nom: identité
J'ai simplifié un peu le code, tout en essayant de debug:
[HttpPost]
public ActionResult Register(User model)
{
DateTime bla = new DateTime(2012, 12, 12);
try
{
User user = new User
{
gid = 1,
cid = 1,
firstName = model.firstName,
lastName = model.lastName,
email = model.email,
username = model.username,
password = model.password,
creationDate = bla,
active = 1
};
myContext.Users.AddObject(user);
myContext.SaveChanges();
}
catch (Exception ex)
{
throw ex;
}
return View();
}
Les valeurs sont véhiculées en conséquence. Table des utilisateurs:
[id] [int] IDENTITY(1,1) NOT NULL,
[cid] [int] NULL,
[gid] [int] NULL,
[firstName] [nvarchar](100) NOT NULL,
[lastName] [nvarchar](100) NOT NULL,
[email] [nvarchar](max) NOT NULL,
[username] [nvarchar](100) NOT NULL,
[password] [nvarchar](100) NOT NULL,
[creationDate] [datetime] NOT NULL,
[active] [int] NOT NULL,
CONTRAINTE [PK_Utilisateurs_3213E83F0AD2A005] CLÉ PRIMAIRE CLUSTER
J'ai supprimé toutes les clés étrangères pour être sûr que rien ne l'affecte. Je suis en qute certain qu'à un moment il était en marche, mais maintenant je n'arrive pas à comprendre où est la question.
Il se bloque lors de l'exécution de la savechanges:
{"An error occurred while updating the entries. See the inner exception for details."}
{"The member with identity '' does not exist in the metadata collection.\r\nParameter name: identity"}
Pourquoi vous l'instanciation d'un nouvel Utilisateur et en définissant les propriétés? Vous pouvez régler directement la non-lié propriétés du modèle de droit?
essayé d'utiliser le ci-dessous la solution(sans l'instanciation d'un nouvel objet Utilisateur) mais ne fonctionne pas.
Est le modèle de l'Utilisateur a un id de propriété?
Est-il déclenche dans le tableau? Vérifier prosoftnearshore.com/blog/post/2012/03/28/...
C'était à cause d'un déclencheur. Merci!!!!
essayé d'utiliser le ci-dessous la solution(sans l'instanciation d'un nouvel objet Utilisateur) mais ne fonctionne pas.
Est le modèle de l'Utilisateur a un id de propriété?
Est-il déclenche dans le tableau? Vérifier prosoftnearshore.com/blog/post/2012/03/28/...
C'était à cause d'un déclencheur. Merci!!!!
OriginalL'auteur Andrei Spatar | 2012-05-30
Vous devez vous connecter pour publier un commentaire.
La question était de reproduire en raison d'un déclencheur qui était sur la table des utilisateurs. Enlevé et le problème n'est pas de reproduire plus.
OriginalL'auteur Andrei Spatar
J'ai eu la même erreur est générée lorsque j'essaie d'insérer à l'aide de EF, l'erreur a été
The member with identity 'Id' does not exist in the metadata collection.\r\nParameter name: identity
Il n'était pas évident au début, mais le message de l'exception a été très concis parce que ma base de données connaît la colonne
Id int
mais la propriété créée pour l'objet sur mon code a étéint ID
donc de revenir à la cartographie, l'Id n'est pas mappé à l'ID.Donc quand un objet de propriété
ID
est envoyé à la base de données que sais seulementId
, vous obtiendrez l'erreur ci-dessus.J'espère que cette aide, grâce
OriginalL'auteur BTE
Il y a probablement un trigger sur la table en cours de mise à jour et il retourne en sortie. La sortie est jeté mais il est en contradiction avec les objectifs EF. Cette sortie est souvent utilisé pour déboguer les déclencheurs (et oublié de le supprimer par la suite):
ou il peut être variable manquante:
au lieu de
OriginalL'auteur Milan Švec
Je pense que la meilleure solution est de cette post. J'ai utilisé la 3ème option et les œuvres.
Ici, je rapport la réponse dans le lien:
OriginalL'auteur pask23
J'ai eu cette même erreur aujourd'hui et a passé un peu frustrant heures à essayer de le comprendre.
J'ai été en utilisant Entity Framework pour l'insertion d'un enregistrement avec une colonne d'identité dans une base de données SQL server le tableau. Assez Simple.
La table avait un déclencheur sur elle, qui à son tour a couru une procédure stockée. La procédure stockée avait une ligne:
C'est la ligne qui a rompu le Cadre de l'Entité.
Pour les tables avec des colonnes d'identité, de Cadre de l'Entité s'attend à être retourné une seule ligne avec un seul champ de la colonne d'identité.
OriginalL'auteur Nick
Essayer cette
OriginalL'auteur VJAI
J'ai eu ce problème et mon fix, c'est que dans mon chaînes de connexion de métadonnées je n'ai pas préciser mon modèle dans la .msl format.
Voir plus d'infos ici
Salut Liam, ma réponse, c'est d'expliquer comment j'ai raté l' .msl partie de mon métadonnées, le lien vient de explique ce qu'est et pourquoi c'est un problème.
OriginalL'auteur Joshua Simon Bloom
c'est à cause de déclenchement passe en arrière de la valeur à EF
si vous utilisez le déclencheur. dans mon problème je doit cocher une valeur en sélectionnant à partir d'une autre table et à l'aide de 'sélectionner' entraîner une erreur dans l'EF, donc vous devez remplacer "select" avec "set".
vous ne pouvez pas utiliser ce code.
vous devez utiliser au lieu de sélectionner
OriginalL'auteur Pouriya Ghasemi
C'est la première page de Google retourné quand j'ai cherché une explication pour ma version d'un problème qui génère ce message d'erreur, donc je vais le mentionner ici, ainsi que la résolution a été pour moi.
Dans ma version du problème, le code fautif ressemblait à ceci:
J'ai hérité de la tâche de maintenir et de soutenir l'application de ce code. Ce code est la propriété de navigation, qui sont déjà liées à l'entité, à l'aide de l'associé étranger de propriété de la clé d'un même objet comme un coup d'oeil. C'est complètement inutile, et semble parfois.. pas toujours.. produire cette erreur:
"Le membre avec de l'identité Customization_ColorStyleCustomizations_source" n'existe pas dans les métadonnées de la collection. Nom du paramètre: l'identité"
C'est tout à fait un message d'erreur, n'est-ce pas.
Pour deux ans, ce code était assis là, sans jeter toutes les erreurs, puis tout d'un coup, un jour, il a commencé la production de cette erreur pour certains styles de couleur. et secouer. Je ne comprends pas. Mais il n'est pas nécessaire, et sortir résout le problème, donc. Juste au cas où quelqu'un d'autre avec le même problème se produit dans tout cela, c'est ici.
(Dans le cas où il n'était pas clair - dans ce cas, la résolution était de simplement supprimer le code.)
OriginalL'auteur Shavais