检索更新的列C#

时间:2018-10-11 01:25:35

标签: c# entity-framework linq entity-framework-5

我有一个名为 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作为数据库

1 个答案:

答案 0 :(得分:0)

您可以使用linq选择新的匿名对象,如下所示:

var x = (from a in context.Categories where a.CatID == 1 
              select new {CatID, Col1, Col4}
         ).firsordefault();

编辑:如果您是说重复的问题(由@Daniel A. White指出),请忽略上面的内容。仅当您始终知道要选择哪些列时,此方法才有效。该问题的答案将允许选择所有修改的列