我在两个表UnAuthEvents和UnAuthExceptionLists之间有一对多的关系。对于涉及外键引用的所有项目数据要求,我使用“包含”来包含导航属性。在这种情况下,当我喜欢下面,它不会识别UnAuthExceptionLists
var exception = DB.UnAuthEvents.
Include(i => i.UnAuthExceptionLists)
.Select(u => new
{
u.EventID,
u.UnAuthExceptionLists.ExceptionID
}
);
同时,这种加入方法有效
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}]
答案 0 :(得分:0)
获得此解决方案
{{1}}
ExceptionDTO类有两个属性,一个是ExceptionTypeID,另一个是ExceptionListDTO自定义类的ICollection
但我的第一个问题没有答案:(