我試圖更新名爲(Friendship)的表中的外鍵。外鍵的表名爲(FriendshipStatus)問題是所有的值都被更新,除了外鍵。我使用代碼第一的方法。使用實體框架更新外鍵
友誼類
public class Friendship
{
public int Id { get; set; }
public User UserOne { get; set; }
public User UserTwo { get; set; }
public FriendshipStatus Status { get; set; }
public User ReqSB { get; set; }
public RelationType RelationType { get; set; }
public Relationship Relationship { get; set; }
public DateTime FriendshipDate { get; set; }
}
FriendshipStatus類
public class FriendshipStatus
{
public int Id { get; set; }
public string Name { get; set; }
}
這裏是上面的代碼更改爲日期時間更新
using (context)
{
Friendship f = getFrienshipRecord(u1, u2); // get single record from db which is to be updated
if (f != null)
{
Friendship ff = new Friendship();
ff.Status = new FriendshipStatus() { Id = 2}; //actually wants to update this this field
ff.Id = f.Id;
ff.FriendshipDate = DateTime.Now;
context.Entry(ff).State = EntityState.Modified;
context.SaveChanges();
}
}
的代碼,但它不會改變外鍵。
您需要更新FriendshipStatus的狀態以進行修改。另一種方法是更新您提取的記錄(f),而不是創建新實例並設置其狀態。 –
你能告訴我示例代碼,我如何更新FriendshipStatus的狀態進行修改。我嘗試了另一種方式,而不創建新的實例,但同樣的問題。 @SteveGreene – Ali