有条件的包括

时间:2011-05-11 09:03:24

标签: c# .net

我想知道如何更改此查询:

events = _database.Events
         .Include("Contacts")
         .ToList();

仅包含属性“类型”设置为“事件”的联系人。

我正在使用EntityFramework,_database是它的上下文。

1 个答案:

答案 0 :(得分:3)

首先,值得了解的是,您发布的代码根本不包含lambda expression。 “不在查询表达式语法中查询”与“lambda表达式”不同。

我怀疑使用部分填充的实体引用集返回事件对象是个坏主意。但是,你可以这样做:

_database.Events
         .Select(e => new { Event = e,
                            EventContacts e.Contacts
                                           .Where(c => c.Type == "event") });