4
我試圖根據DbSet
對象中的WHERE
子句獲取行。我有這樣的:使用實體框架選擇DBSet中的行
dbContext.Workers
我可以得到一個列表如下:
workers = m.Workers.Where(w => w.BranchId == curUser.BranchId).ToList<Worker>();
但正如你所看到的,它返回一個List<Worker>
,我不能使用像workers.Find(WorkerId)
與它的方法。
基本上,我試圖返回基於某些篩選器的DBSet
我的意思是我想在DBSet類上使用LINQ。我想要這個,因爲我需要使用workers.Find(WorkerId)
也許我需要更新這個模型。所以,我會根據where子句得到一個列表,我將更改一些值並將使用dbContext.SaveChanges()
。那可能嗎?
感謝
所以,即使它是一個IQueryable,當我改變它的一些值,DBSet也得到更新?這似乎很奇怪,同時也很好。我正在嘗試這個,謝謝。 – user5273382
不,雖然它是IQueryable,但您還沒有記錄,您只需從數據庫中獲取它們,應用額外的過濾等等。如果您想要進行的更改持續存在,則必須執行。閱讀關於延期執行的更多信息。 –
謝謝,首先我會嘗試你的解決方案,然後我會閱讀它。 – user5273382