[英]Update Object without Select EF6 MySQL
是否可以使用Entity Framework更新對象,而無需先獲取它們?
示例:在這里,我有一個提供主鍵來定位對象,拉出它們然后更新它們的函數。 我想消除不必先拉對象,而只需運行UPDATE查詢。 無需生成SELECT查詢。
public async Task<int> UpdateChecks(long? acctId, string payorname, string checkaccountnumber, string checkroutingnumber, string checkaccounttype)
{
using (var max = new Max(_max.ConnectionString))
{
var payments = await
max.payments.Where(
w =>
w.maindatabaseid == acctId && (w.paymentstatus == "PENDING" || w.paymentstatus == "HOLD")).ToListAsync();
payments.AsParallel().ForAll(payment =>
{
payment.payorname = payorname;
payment.checkaccountnumber = checkaccountnumber;
payment.checkroutingnumber = checkroutingnumber;
payment.checkaccounttype = checkaccounttype;
payment.paymentmethod = "CHECK";
payment.paymentstatus = "HOLD";
});
await max.SaveChangesAsync();
return payments.Count;
}
}
您可以使用Attach()
命令附加一個已經存在的實體,然后調用SaveChanges()
將調用適當的更新方法。 這是有關該主題的MSDN文章中的一些示例代碼:
就此主題而言:
var existingBlog = new Blog { BlogId = 1, Name = "ADO.NET Blog" };
using (var context = new BloggingContext())
{
context.Entry(existingBlog).State = EntityState.Unchanged;
// Do some more work...
context.SaveChanges();
}
請注意,這是通用的EF邏輯,與任何特定的數據庫實現都不相關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.