日期:2014-05-20  浏览次数:20766 次

Entity Framework如何查询导航属性中是否包含某个值?lambada表达式怎么写?
有2个表 用户实体User (userid,username,taskid,tasks) 和 任务实体Tasks(taskid,taskname) ,User与Tasks是一对多的关系,一个用户负责多个任务。

我想查询负责的任务名称(taskname)包含“北京”的用户有哪些? 这个应该怎么写?

DataContent.GetUserQuery().Where(e=>e.tasks.taskname ?????????  



------解决方案--------------------
C# code
var query = from u in ctx.User
            where u.Tasks.Any(t => t.taskname.Contains("北京"))
            select u;

------解决方案--------------------
也可以这样:

C# code
var query = from u in ctx.User
            join t in ctx.Tasks
            on u.taskid equals t.taskid
            where  t.taskname.Contains("北京")
            select u;