我有两个表:类别(父级)和产品(子级)。
我可以将内部联接与LINQ查询语法一起使用。但是用方法语法,我听不到。 p.
不会加载CategoryID
var db = new NorthwindEntities();
var cats = db.Categories;
var prods = db.Products;
var catProducts1 = from c in db.Categories
join p in db.Products
on c.CategoryID equals p.CategoryID
select new { c.CategoryName, p.ProductName };
var catProducts2 = db.Categories
.Join(db.Products, c=>c.CategoryID,p=>p);
答案 0 :(得分:1)
以下是针对您的情况的Join
lamda语法的正确语法:
var catProducts2 = db.Categories.Join(db.Products,
c => c.CategoryId,
p => p.CategoryID,
(c, p) => new { c.CategoryName, p.ProductName })
.Select(s => new { s.CategoryName, s.ProductName });
您可以在小提琴中查看上述查询的用法-https://dotnetfiddle.net/C3N2I2