簡體   English   中英

不選擇MySQL的情況下更新對象

[英]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.

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