有3个表:ParentCategories-> Categories-> Articles。


ParentCategory(ID,名称)
类别(ID,parentCategoryID,名称)
文章(ID,caregoryID,名称)


如何使用LINQ to SQL选择具有指定parentCategoryID的所有文章(表文章仅引用categoreID,而不引用ParentCategoryID)?

像这样:

articles = (
    from a in db.Articles
    join c in db.Categories
    on ????????????
    join pc in db.ParentCategories
    on c.ParentCategoryId equals pc.ID
    ...);

最佳答案

(如果我正确理解了您的架构),则可以使用隐式联接策略,例如:

var articles = db.Categories
    .Where(c => c.ParentCategoryID == yourParentCategoryID)
    .SelectMany(c => c.Articles)
    .ToList();


隐式联接要求您在O / R设计器中的实体之间设置Associations

10-02 18:49