賞金將在 5 天后到期。此問題的答案有資格獲得 50聲望賞金。 André Reichelt正在從有信譽的來源尋找答案。
在我的專案中,我想使用 Z.EntityFramework.Plus 更新特定資料集的列。我正在使用以下代碼:
await db.Features.SingleUpdateAsync(new Feature()
{
ID = featureInfo.ID,
Unit = unit,
});
該類Feature由多個列組成。我只想更新Unit給定的列ID。但是,此陳述句總是嘗試將所有其他列重置為null. 所以我認為我誤解了這種方法通常是如何作業的。
如何只更新給定的單位值而不修改(或必須加載)所有其他值?
uj5u.com熱心網友回復:
您可以通過使用Where和UpdateFromQuery來實作它:
await db.Features.Where(x => x.ID == featureInfo.ID).UpdateFromQuery(x => new Feature()
{
Unit = unit
});
對于多個 ID,如果單位是常數:
await db.Features.Where(x => ids.Contains(x.ID)).UpdateFromQuery(x => new Feature()
{
Unit = unit
});
如果你有千/百萬個 ID,也可以使用WhereBulkContains方法(這個不是免費的):
await db.Features.WhereBulkContains(ids).UpdateFromQuery(x => new Feature()
{
Unit = unit
});
編輯:回答評論
我使用的 SingleUpdateAsync 方法是否有任何檔案
沒有檔案。它的作業原理完全一樣BulkUpdate,但允許您傳遞單個物體而不是串列(這是唯一的區別)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/456798.html
下一篇:物體框架-檢查導航屬性是否存在
