问题描述
|
var users = from user in st.Users
where user.UDID == cr.User.Udid
select user;
var cityIds from city in users.First().Cities
select city.ID;
DoSomethingWith(cityIds);
它从以下查询开始:
select CityID from UserCities inner join User on User.ID=UserID where User.UDID=@UDID;
我似乎无法使用Linq-to-Entities正确获得联接语法
解决方法
在这里使用查询表达式并没有真正的帮助,在这里您根本不需要两个查询表达式。这是直接翻译:
var cityIds = st.Users
.Where(user => user.UDID == cr.User.Udid)
.First()
.Cities
.Select(city => city.ID);
现在使用the3ѭ可以带谓词的事实,您可以删除the4ѭ:
var cityIds = st.Users
.First(user => user.UDID == cr.User.Udid)
.Cities
.Select(city => city.ID);
, 我想出了我想要实现的目标。
var cityIds = from city in st.Users.First(x => x.UDID == cr.User.Udid).Cities
select city.ID