Linq2Sql很多:很多问题,你会怎么做?

ter*_*tyl 7 c# many-to-many entity-framework linq-to-sql

我知道很多:Linq2Sql不支持很多,但我正在解决一个问题

我正在使用我的小SO克隆,我有一个带有问题的表和一个带有标签和连接表QuestionTag的表,所以我有一个经典的很多:问题和标签之间的许多关系.

要在首页上显示问题列表,我有这个类,我想从Linq2Sql查询中填写

public class ListQuestion
{
   public int QuestionID { get; set; }
   public string Title{ get; set; }
   public IEnumerable<Tag> Tags { get; set; }
}


public IEnumerable<ListQuestion> GetQuestions()
{
   from q in Questions
   .................
   select new ListQuestion{ ... }
}
Run Code Online (Sandbox Code Playgroud)

问题是我应该如何填写Tag集合.我发现在单个查询中不可能这样做,所以我将其分为2个查询,1个用于获取问题,1个用于获取标记,然后尝试加入它们.我知道很多:实体框架支持很多,所以他们是如何做到的?你会怎么做?任何替代方法?查询当然应该是有效的.

Ali*_*söz 4

这可能适合您的情况;

from q in Questions
select new ListQuestion 
{ 
  Tags = q.QuestionTags.Select(qt => qt.Tag),
  QuestionId = q.ID,
  Title = q.Title
}
Run Code Online (Sandbox Code Playgroud)