我正在使用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;
在此表上,有一个密码列,我不想返回此列。
如何从该选择中排除密码列?
答案 0 :(得分:8)
及其悲伤地说,但否强>
您无法直接排除任何特定列。您可以使用延迟加载列。
最简单且不喜欢的方法是包含您想要的列。
答案 1 :(得分:2)
在select语句中指定您想要的每一列:
var users = from u in context.Users
where u.UserId == userId
select u.UserId, u.Watever, etc... ;
答案 2 :(得分:2)
这样的另一种方式,
var users = from u in context.Users
where u.UserId == userId
select new
{
col1 = u.UserId,
col2 = u.Watever
}.ToList();
答案 3 :(得分:0)
您可以为每个表创建多个LINQ对象。我创建一个你需要的领域,一个没有。但它使CRUD操作更加困难。