【发布时间】:2015-06-10 04:42:11
【问题描述】:
我在两个表 UnAuthEvents 和 UnAuthExceptionLists 之间有一对多的关系。对于涉及外键引用的所有项目数据要求,我使用“包含”来包含导航属性。在这种情况下,当我执行以下操作时,它无法识别 UnAuthExceptionLists
var exception = DB.UnAuthEvents.
Include(i => i.UnAuthExceptionLists)
.Select(u => new
{
u.EventID,
u.UnAuthExceptionLists.ExceptionID
}
);
同时,这种join方法也有效
var test = (from e in DB.UnAuthEvents
join a in DB.UnAuthExceptionLists
on e.EventID equals a.EventID
where e.EventID == 1
select new
{
e.EventID,
a.ExceptionID
});
问题1:虽然我现在有可用的模型,但我想知道这背后的逻辑
问题2:根据我的项目要求,我想得到以下JSON数据格式
[{"EventID":1,"UnAuthExceptionLists":[{"ExceptionID":1},{"ExceptionID":2}]}]
但是我的代码会产生这样的输出
[{"EventID":1,"ExceptionID":1},{"EventID":1,"ExceptionID":2}]
【问题讨论】:
标签: linq-to-entities entity-framework-5