小编Mik*_*yer的帖子

寻找LINQ中的重叠利益

我有一个模型,其中一个地方有一些描述,这些描述与兴趣(place.description.interests)相关联.查看场所视图的用户在模型中表示为用户,其也具有许多兴趣.

我想要做的是按重叠的兴趣(包括零重叠)对描述进行排序,我目前的Linq是:

place dest = (from p in _db.places
                          where p.short_name == id
                          select p).Single();

 return View(dest);
Run Code Online (Sandbox Code Playgroud)

现在,以下将在SQL中对所讨论的模式执行我想要的操作:

SELECT COUNT(interest_user.user_id) AS matches, description.*
FROM description JOIN interest_description ON description.user_id = interest_description.user_id AND description.place_id = interest_description.place_id
    JOIN interest ON interest_description.interest_id = interest.interest_id
    LEFT JOIN interest_user ON interest.interest_id = interest_user.interest_id 
WHERE interest_user.user_id = 2
    AND description.place_id = 1
GROUP BY interest_description.user_id, interest_description.place_id
ORDER BY matches DESC
Run Code Online (Sandbox Code Playgroud)

但我对Linq来说太新了,不知道如何正确处理这个问题.理想情况下,我可以在传递强类型模型时将其拉下来.

到目前为止我已经设法了:

var desc = from d in _db.descriptions
                       from i in d.interests
                       from u in …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-entities entity-framework

6
推荐指数
1
解决办法
496
查看次数

标签 统计

c# ×1

entity-framework ×1

linq-to-entities ×1