使用LINQ从选择中排除列

Van*_*nel 11 c# sql linq entity-framework

我正在使用Entity Framework Code First开发WCF RESTful Web服务.

我有一张Users包含很多列的表格.我这样做是为了得到一个特定的用户:

context.Configuration.ProxyCreationEnabled = false;
var users = from u in context.Users
            where u.UserId == userId
            select u;
Run Code Online (Sandbox Code Playgroud)

在此表上,有一个密码列,我不想返回此列.

如何从该选择中排除密码列?

Dig*_*rma 8

它伤心地说,但NO

您无法直接排除任何特定列.您可以使用延迟加载列.

最简单且不喜欢的方法是包含您想要的列.


Jas*_*chs 2

在 select 语句中指定您想要的每一列:

var users = from u in context.Users

        where u.UserId == userId

        select u.UserId, u.Watever, etc... ;
Run Code Online (Sandbox Code Playgroud)

  • 不,您只是忘记了末尾的分号或输入错误。当然,您不会输入“等”。如我的示例所示。在列出的最后一列之后,省略逗号并以分号终止... select u.UserId, u.AnotherColumn, u.LastColumn; (2认同)
  • 您键入的方式会被编译器拒绝。[此处](http://stackoverflow.com/a/6772286/75500)是如何选择多列。我正在您的回答中更新这一点。 (2认同)