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

时间:2008-12-15 16:08:22

标签: c# linq-to-sql entity-framework many-to-many

我知道很多: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{ ... }
}

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

1 个答案:

答案 0 :(得分:4)

这可能适用于您的情况;

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