簡體   English   中英

使用Linq更新記錄

[英]Updating record with Linq

我有一個關於Linq和更新數據庫記錄的問題。 當您使用的字段未知時,我不知道如何更新記錄。 我很難解釋這個,所以我使用以下示例:

Customer c = (from x in dataBase.Customers
             where x.Name == "Test"
             selext x).First();
c.Name = "New Name";
dataBase.SaveChanges();

在此示例中,您將更新數據庫中Customers表中的名稱字段。 讓我們說客戶有一個ID,一個名字和一個電話號碼。 在示例中,您只會更新數據庫中的名稱。 如果我想更新電話號碼,我只需添加c.Phonenumber = 01234; 它還會更新電話號碼。

現在,用戶使用文本框填充新數據,但是,不需要更改所有數據。 因此,您可以更新姓名和電話號碼,或其中任何一個。 我遇到的問題是我不知道如何確定用戶填寫的內容以及如何確定要選擇和更新的字段。 如果我有一個包含10個不同字段的customers表,那么用戶可能想要更改8個字段,而我不知道如何告訴程序它必須更新這8個字段。 我希望你能理解我的解釋,並能幫助我。 提前致謝。

您的ObjectContext將跟蹤您的更改。 這樣做是因為所有實體(例如Customer )都將繼承EntityObjectINotifyPropertyChanged

調用SaveChanges將在事務中保留對數據庫的所有更改。

這意味着您不需要跟蹤更改 - EF會為您執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM