我想使用表达式树动态生成以下select语句:
var v = from c in Countries
where c.City == "London"
select new {c.Name, c.Population};
Run Code Online (Sandbox Code Playgroud)
我已经研究出如何生成
var v = from c in Countries
where c.City == "London"
select new {c.Name};
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到一个构造函数/重载,让我在select lambda中指定多个属性.
我有NxN表,想象一下:
用户(id,...)< - UserAddresses(id,userId,addressId,enabled,...) - >地址(id,...)
UserAddresses包含用户和地址的FK.据我所知,实体框架用户创建的实体包含UserAddresses的集合.地址包含UserAddresses的集合,特定的UserAddress包含对User和一个Address的重新发送.
现在我想通过linq进行下一个查询.对于特定用户标识,仅获取已启用标志设置为true的userAddresses.对于特定用户标识,userAddresses可以包含多个条目,但只为此特定用户设置了一个条目.
我能做的查询是:
context.User.Include( x => x.UserAddresses )
.Include( x => x.UserAddresses.Select(y => y.Address) )
.Single( x => x.id == USER_ID )
Run Code Online (Sandbox Code Playgroud)
但我真正想要的是不为该用户加载所有UserAddresses ...只包含启用的那个,设置为TRUE!
有人可以帮我做这个查询吗?