如何在MVC应用程序中搜索多个表?

时间:2012-04-21 23:58:09

标签: c# asp.net-mvc linq entity-framework join

我在MVC应用程序中有2个表(TopicsComments)。我想查询comments表,但也从title表中返回topic

我相信我正在使用EF。我会使用SQL,但我不确定这是否适用于MVC应用程序。

使用SQL我会执行以下操作:

SELECT c.Id, c.Comment, t.Title 
FROM Comments c INNER JOIN Topics t
ON c.TopicId = t.Id

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

这是使用LINQ编写sql查询的方法:

var query = _db.Comments.Join(
    _db.Topics,
    c => c.TopicId,
    t => t.Id,
    (comment, topic) =>
       new
       {
           Comment = comment,
           Topic = topic
       });

答案 1 :(得分:0)

很容易,使用LINQ和EF。它看起来像这样:

Dim Comments = Comments.
    Where(function(x) x.Topic.Id = ???).
    Select(function(x) New with {
        .Comment = x.Comment,
        .Title = x.Topic.Title
    })

返回IQueryable(Of Anonymous Type)

然后对于每个条目,您可以像其他任何一样使用属性...     Dim A = Item.Comment     Dim B = Item.Title