【发布时间】:2021-07-06 05:42:13
【问题描述】:
我有一个User 表,它可能在Address 中有相关(FK)记录。
所以在LINQ,我正在尝试:
var data = _context.User.Where(x=>x.Deleted.HasValue == false)
.Select(y=> new MyObject {
Id = y.Id,
Name = y.Name,
Address = y.Address != null ? y.Address.Description : null
});
但是一旦我添加了三元运算符(因为如果那里没有记录,我无法引用 y.Address.Description),我的 Select 就会失败并出现设计时错误:Ambiguous Invocation。
这样做的正确方法是什么?在这种情况下,可能没有“地址”记录。
【问题讨论】:
-
粘贴“实际”异常和堆栈跟踪
-
'设计时错误:不明确的调用。' --- 你的意思是编译时错误?
-
没有。设计时间。在我编译之前,UI 就显示了这一点,只要我添加了 turnary。
-
其中的 ui,我很勇敢。 linq 是否依赖于某些 ui?
-
我使用 Rider。问题似乎是根据接受的答案需要强制转换。
标签: c# entity-framework linq