La propriété 'text' est la partie de l'objet de l'information clé et ne peuvent pas être modifiés
Donc j'ai une table dans la base de données, avec une colonne qui est tout simplement un type nvarchar(800).
Quand j'ai essayer de faire:
try
{
UserTable = (from x in entities.userTable where x.uID == uID select x).Single();
UserTable.DateCreated = DateTime.Now;
UserTable.text= newText;
Update(UserTable);
}
- Je obtenir de l'exception dans les captures: "The property 'text' is part of the object's key information and cannot be modified."
Quand je regarde dans le tableau, je ne vois pas ce qu'en vertu de la "clé" ou "index". Il n'est donc pas une clé, je ne comprends pas pourquoi C# est de me donner des informations incorrectes. Rien dans SQL Management Studio dit rien à propos de "texte" est une clef ou d'un index. Que dois-je faire?
OriginalL'auteur Dexter | 2011-01-06
Vous devez vous connecter pour publier un commentaire.
Est-il une clé primaire sur la table? Si non, EF utilise tous les champs/colonnes dans le cadre de la "clé de l'information."
Hmm, il semble Entity Framework ne pas mettre à jour le "modèle" fichier lorsque vous mettez à jour la base de données. Il pensait encore 'texte' a une clé à partir de l'avant.
Si vous cliquez à droite sur l'edmx toile et sélectionnez mettre à jour le modèle de base de données, il doit recomposer.
EF n'est pas automatiquement mise à jour. Vous devez demander une mise à jour du modèle
J'ai déjà une clé Primaire (viz. combinaison de deux clés Étrangères, c'est à dire Naturel de la clé) mais toujours le même Problème...
OriginalL'auteur lukiffer
Afficher le modèle de données en double-cliquant sur le fichier edmx sous le dossier de Modèles.
Assurez-vous que les touches sont correctement mappé. Si vous faites un clic droit sur une colonne, vous pouvez activer /désactiver l'Entité de propriété de la Clé. Une fois que la colonne en question n'est pas marqué comme entité clé que vous devriez être en mesure de mettre à jour la valeur.
OriginalL'auteur Tom Hubbard
Suivez ces étapes simples
Étape 1: Vérifiez si votre table est d'avoir la colonne de clé primaire dans la base de données ou non. Si elle n'a pas de clé primaire, puis ajouter une clé primaire. Parce que si nous ne sommes pas d'ajouter une clé primaire pour la table que entity framework crée sa propre collection de clés et ajouter toutes les colonnes.
Étape 2: Ouvrez votre .fichier edmx pour voir la table de mappage d'objets. Vous serez en mesure de voir chaque colonne de la table est d'avoir l'icône comme clé primaire. Donc, Écrire de cliquer sur votre page et de mise à jour .edmx à partir de la base de données.
Étape 3: Si vous avez toujours voir la même clé primaire icônes sur toutes les colonnes, cliquez sur le nom de la colonne que vous souhaitez mettre à jour un par un et d'aller à la fenêtre de propriété et l'Ensemble de l'Entité Clé valeur false à la propriété.
OriginalL'auteur user193887
Le problème ici est que Entity Framework ne peut pas apporter des modifications à la clé primaire de la table en particulier. Maintenant, si vous n'avez pas spécifié d'une clé primaire pour la Table, entité cadre tiendra compte de tout ce que la clé primaire, et donc vous ne serez pas en mesure d'apporter des modifications à la table. Ce que vous devez faire est de définir une clé primaire dans la table, supprimer la table à partir de votre modèle à partir de l'explorateur de modèles, puis ajouter à nouveau la table dans le modèle. C'est sûrement le fixer. Heureux de codage. Cheers!
OriginalL'auteur Ketan Dubey