2009-10-07 7 views
0

J'ai une table appelée say Table1 qui a une colonne qui est une clé primaire dans une autre table.Entity Framework: Modification des valeurs d'une table

Je souhaite modifier cette valeur si je tente Table1.OtherTableWithID.ID = maValeur Mais je reçois l'erreur
« La propriété « ID » fait partie des informations clés de l'objet et ne peut être modifié. »

Alors, comment puis-je modifier cette valeur vu que je ne peux pas y accéder via Table1.ID?

Répondre

4

Je pense que vous décrivez une clé étrangère :-) Je cite ma réponse à une autre question, vous pouvez sélectionner l'objet associé et lui attribuer cette façon:

table1Item.Table2 = ctx.Table2.First(t => t.ID == newID); 

Ou, si vous n » Vous ne souhaitez pas interroger la base de données pour obtenir l'entité de clé étrangère, ou vous n'avez pas configuré les entités de cette manière pour une raison quelconque. Vous pouvez également utiliser une EntityKey pour le même effet:

tableItem.Table2Reference.EntityKey = new EntityKey("MyDb.Table2", "ID", newID);