我需要更新包含大量行的表中的列。每行都有一些大的TEXT列,我不需要更新。Linq2SQL:只選擇一些列,但仍然能夠提交更改
我使用LinqPAD,這大致是,我想做的事:
(from s in Table
where s.FK_ID == null
select new{s.FK_ID, s.Datum, s.PBNummer}).ToList()
.ForEach(s => s.FK_ID = new Guid(...some new guid here...));
SubmitChanges();
這並不編譯,作爲一個匿名類類型的屬性是隻讀的。
如果我做
(from s in Table
where s.FK_ID == null
select s).ToList()
然後我就可以更新和保存,但所有列被加載,這需要很長的時間,並導致記憶問題。
有沒有辦法只加載一些列,但仍然有一個對象,我可以使用SubmitChanges
更新和保存?或者我必須切換到SQL語句?
爲什麼你需要通過LINQ -2-做到這一點的sql?你不能只發出原始查詢嗎? – alexn
@alexn'新的Guid()'部分更復雜,如我的示例中所示。 – okrumnow