我有一个名为 Category
的表CatID | Col1 | Col2 | Col3 | Col4 |
----------------------------------
1 | A | 4 | C | 3 |
----------------------------------
我使用下面的代码检索并更新 CatID 1 项目
var context = new DBEntities();
var x = (from a in context.Categories where a.CatID == 1 select a).firsordefault();
x.Col1 = "Z";
x.Col4 = 20;
context.SaveChanges();
我该如何只检索我更新的列?喜欢:
CatID | Col1 | Col4 |
--------------------
1 | Z | 20 |
--------------------
我想在具有10列以上的表上执行此操作。我正在使用C#EF5和SQL2008r2作为数据库
答案 0 :(得分:0)
您可以使用linq选择新的匿名对象,如下所示:
var x = (from a in context.Categories where a.CatID == 1
select new {CatID, Col1, Col4}
).firsordefault();
编辑:如果您是说重复的问题(由@Daniel A. White指出),请忽略上面的内容。仅当您始终知道要选择哪些列时,此方法才有效。该问题的答案将允许选择所有修改的列