我想更新一個實體,但是當我打電話保存更改沒有任何反應。以下是我如何附加實體的代碼。我使用EF6.1和MVC5.1的方式附加實體沒有更新
var entity = db.Entity.Attach(existingEntity);
entity = new Entity(args0, args1, args2)
entity.Id = existingEntity.Id;
db.SaveChanges()
這裏的實體類:我並設置屬性
public class Entity : Entity
{
public int Id { get; set; }
public string PropertyA { get; private set; }
public string PropertyB { get; private set; }
public string PropertyC { get; private set; }
}
public Entity(string args0, string args1, string args2)
{
this.PropertyA = args0;
this.PropertyB = args1;
this.PropertyC = args2;
}
注意設定裝置私人因爲我有內部的一些內部工作類。我在想,EF無法更新實體的原因是因爲我實例化了一個新的實體,儘管我設置了它的主鍵。我也嘗試將狀態更改爲修改狀態,但它只是運行「更新腳本」,但它並不真實反映我對每個屬性所做的更改
此場景的任何可能的解決方案?
嗯,據我讀我的代碼沒有我不混合這兩個。你是對的,這個班只是爲了創造而建造的,我認爲這是我的錯誤。我這樣做是因爲有些屬性的計算,需要一些參數以外的參數加上,因爲我需要它有自動計算(帶參數) – gnaungayan