如果寫WEB API的話,如何才能修改某些欄位呢??

摘要:如果寫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;
}

 

如果有什麼錯誤或更好的做法,則請批評指教囉。