2010-11-15 63 views
3

我有兩個表:C#實體框架:如何更新記錄並更改外鍵引用?

客戶端(ID,客戶端名) 項目(ID,客戶端ID,projecttitle)外鍵引用的clientid - > clients.id

當我與EF加載一個項目是這樣的:

thisProject = (from p in dataEntity.projects.Include("client") 
       where p.id == INTVALUE 
       select p).FirstOrDefault(); 

然後我改變thisProject一些值,並希望更改爲diferent客戶的關係,它不會讓我修改的項目表中的客戶端ID字段。

希望我解釋這個不夠好,感謝

回答

4

你需要做這樣的事情:

var thisProject = (from p in dataEntity.projects.Include("client") 
       where p.id == INTVALUE 
       select p).FirstOrDefault(); 

var newClient = dataEntity.clients.FirstOrDefault(); // change to suit 
thisProject.Client = newClient; 

你不能改變的EntityKey AFAIK - 你需要真正改變導航參考。

HTH。

+0

謝謝,這個伎倆。 – 2010-11-15 06:53:23

+1

太棒了,很高興你能對它進行排序。 – RPM1984 2010-11-15 07:42:04