我有两个对象序列;即Messages
对象Message
和Newsflashes
对象Newsflash
。
两者都是通过实体框架 ADO.NET 实体模型派生的。模型示意图如下:
如您所见,Newsflash
继承自Message
. 但是,控制器中生成的索引以某种方式出错,我需要进行手动查询以将正确的序列传递给视图。
该Newsflash
表只有一列,即 Id,同时是 Id 的外键Message
。我想在 LINQ 中这样查询SELECT * FROM MESSAGE WHERE ID IN (SELECT ID FROM NEWSFLASH)
到目前为止,我已经尝试过这样的事情:
var message = Messages.Where(x => x.Id == Newsflash.Any(y=>y.Id))
但我收到无法将 int 转换为 bool 的错误。我做错了什么?如何在 LINQ 中处理嵌套选择,尤其是来自列表的选择?如何访问序列中的元素;在这种情况下Newsflash
,以便我可以单独获取 ID?