摘要:如果寫WEB API的話,如何才能修改某些欄位呢??
最近有遇到這個問題,在此寫下來,希望如果有遇到此問題的人,看到的話對大家有幫助。
如果是寫mvc的話,想必要包含哪些欄位可以修改的寫法是下面這樣子。
[HttpPost]
public ActionResult Action([Bind(Include="Id,Name")] Doctor doctor)
{
//下面自行實作
return View();
}
如果排除欄位的話則是如下
[HttpPost]
public ActionResult Action([Bind(Exclude="Id,Name")] Doctor doctor)
{
//下面自行實作
return View();
}
要排除的話則是寫成下面這樣子
var result=new Doctor();
var entry = db1.Entry(result);
entry.State = EntityState.Modified;
entry.Property(x => x.PaidCost).IsModified =false;
當然如果有很多欄位會比較麻煩,所以如果有多個欄位的話,則可以改成下面這段
var excluded = new[] { "Id", "Name" };
var result= new Doctor();
ar entry = context.Entry(result);
entry.State = EntityState.Modified;
foreach (var name in excluded)
{
entry.Property(name).IsModified = false;
}
如果有什麼錯誤或更好的做法,則請批評指教囉。