Red*_*wan 3 c# linq sql-server include entity-framework-4.1
我正在使用具有表对象关联的多个linq include方法的场景.假设场景是:
User has Groups
User has Permissions
User has Vehicles
var _users=
(from u in dbconetxt.Users
join g in dbconetxt.Gropus on u.userId equals g.userId
join p in dbconetxt.Permissions on u.userId equals p.userId
join v in dbconetxt.Vehicles on u.userId equals v.userId
Where u.Status=true
select u).Include(u.Groups)
.Include(u.Permissions)
.Include(u.Vehicles)
.ToList()
Run Code Online (Sandbox Code Playgroud)
在单个查询中加入所有这些表后,我选择了用户对象.当然,我会得到List,但我希望每个用户对象都应包含其各自的组,权限,车辆,但是来自车辆和权限,我只想加载少数列/属性,而不是全部.那么,如何指定在此方案中加载哪些列?
我正在使用Entity Framework 4.1 + C#+ SQL Server.
Include是附加到IQueryable的扩展方法.这意味着你必须在DbSet用户上使用它.
如果只想选择指定的列,可以使用无参数构造函数创建匿名类型或类.
var users = from u in dbContext.Users.Include(u => u.Groups)
where u.Status == true
select new
{
u.Name,
u.Id,
u.WhatSoEver
};
Run Code Online (Sandbox Code Playgroud)
要么
var users = from u in dbContext.Users.Include(u => u.Groups)
where u.Status == true
select new UserView
{
Name = u.Name,
Id = u.Id,
Property1 = u.WhatSoEver
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28155 次 |
| 最近记录: |