我有以下查询,它工作正常
var aaa = from d in _context.SubCategories
join x in _context.CategoryLinks on d.ID equals x.SubCategoryID
where x.CategoryID == CategoryID
select new
{
d.ID,
d.Name,
d.Code
};
现在我想将它转换为 linq 方法语法,因为 imo 它看起来更干净,而不是“选择新”,我想将它投影到 DM.SubCategory 模型。
我怎么能做到这一点?我尝试了下面的代码,但在输入 cl.X 后,它不允许我选择任何列 CategoryLink 表仅用于检查类别和子类别之间是否存在链接。(包含 ID、CategoryID 和 SubCategoryID 以及相应的 FK)
投影到结果后解决,但仍然不知道为什么visual studio拒绝建议cl.X
_context.SubCategories
.Join(_context.CategoryLinks,
sc => sc.ID,
cl => cl.SubCategoryID,
(sc, cl) => new { SubCategory = sc, CategoryLinks = cl })
.Select(x => x.SubCategory);