asp.net mvc nerddinner问题linq到实体加入问题

时间:2010-05-13 16:46:29

标签: asp.net asp.net-mvc linq-to-sql linq-to-entities

我正在一个类似于nerddinner的网站上工作。是否可以执行类似的连接 使用Linq实体在nerddinner中使用linq to sql做了什么。 我发布以下代码。

public IQueryable<Dinner> FindByLocation(float latitude, float longitude) {
        var dinners = from dinner in FindUpcomingDinners()
                      join i in db.NearestDinners(latitude, longitude) 
                      on dinner.DinnerID equals i.DinnerID
                      select dinner;

        return dinners;
    }

我想用linq替换这些代码到实体实现。

此致

成员Parminder

1 个答案:

答案 0 :(得分:0)

你能找到他们相交的地方:

FindUpcomingDinners().Intersect(db.NearestDinners(latitude, longitude)).ToList();

我不确定FindUpcomingDinners会返回什么,但最简单的方法是让两个函数返回IEnumerables FindUpcomingDinnersNearestDinners,然后才能得到两个清单。

例如:

List<Dinner> upcomingDinners = FindUpcomingDinners();
List<Dinner> nearestDinners = NearestDinners(latitude, longitude);

List<Dinner> result = upcomingDinners.Intersect(nearestDinners).ToList();