亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用實體框架更新表中的單行

使用實體框架更新表中的單行

C#
互換的青春 2022-10-23 15:31:46
我是在網絡表單中使用 EF6 的新手。我正在嘗試更新沒有 ID 的表中唯一可用的行,它只是應用程序的參數配置表。我在表單視圖上有這個更新方法。當我嘗試加載該項目時,它給了我錯誤。我認為我在這里做錯了,但不確定我需要做什么。我對linq一無所知。錯誤 11 無法將類型“System.Linq.IQueryable”隱式轉換為“InventarioCiclico.xInventarioConfigs”。存在顯式轉換(您是否缺少演員表?) C:\Users\A0H79224\Documents\Visual Studio 2013\Projects\InventarioCiclico\InventarioCiclico\Account\Admin\ConfigurarInventario.aspx.cs 73 20 InventarioCiclico // The id parameter name should match the DataKeyNames value set on the control    public void fvInventarioConfigs_UpdateItem(xInventarioConfigs configs)    {        InventarioCiclico.xInventarioConfigs item = configs;        InventarioCiclicoContext context = new InventarioCiclicoContext();        // Load the item here, e.g. item = MyDataLayer.Find(id);        item = (from c in context.xInventarioConfigs select c).Take(1);        if (item == null)        {            // The item wasn't found            ModelState.AddModelError("", String.Format("Item with id was not found"));            return;        }        TryUpdateModel(item);        if (ModelState.IsValid)        {            context.SaveChanges();            // Save changes here, e.g. MyDataLayer.SaveChanges();        }    }
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

即使您使用Take(1)僅選擇一條記錄, Take也會返回IQueryable。您可以使用類似這樣的快速修復:

item = (from c in context.xInventarioConfigs select c).Take(1).FirstOrDefault();

或者即使沒有 Take as FirstOrDefault 也會選擇一行。


查看完整回答
反對 回復 2022-10-23
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

Take 返回一個 IQueryable,它可能只包含一個項目,但仍然是一個集合。如果您使用 Take(1) 僅選擇一條記錄,您不妨直接選擇 First(如果結果集中沒有記錄,請注意此處)或 FirstOrDefault

item = (from c in context.xInventarioConfigs select c).FirstOrDefault();


查看完整回答
反對 回復 2022-10-23
  • 2 回答
  • 0 關注
  • 125 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號