【发布时间】:2014-04-22 10:47:18
【问题描述】:
我有一个这样的多重连接查询:
public static List<Answer> GetDetailedAnswers(string Tag)
{
using (Database db = new Database())
{
List<Answer> answer =
from quest in db.Question
join answ in db.Answer on quest.ID equals answ.QuestionID
join deal in db.Dealer on answ.DealerID equals deal.ID
join country in db.Country on deal.CountryID equals country.CountryID
where quest.ParentSection == Tag
select new
{
ParentSection = quest.ParentSection,
Section = quest.Section,
Dealer = deal.Name,
OriginalAnswer = answ.Original,
EngAnswer = answ.English,
Region = country.Country
}.ToList();
return answer;
}
}
我有一个这样的内部类:
public class Answer
{
public string ParentSection { get; set; }
public string Section { get; set; }
public string Dealer { get; set; }
public string OriginalAnswer { get; set; }
public string EngAnswer { get; set; }
public string Region { get; set; }
}
我在最后一次加入时遇到错误。它说“连接子句中的一个表达式的类型不正确。类型推断在调用'Join'时失败” 我错过了什么?谢谢
【问题讨论】:
-
检查两者是否有相同的数据类型,可能一个是 int 第二个长这样
-
我可能会问一个显而易见的问题,但是最后一个
join中的字段的数据类型是什么? -
这是我怀疑的错误,但我不知道为什么。一个是uniqueID,另一个是Int。更改它问题已解决,但现在我收到此错误:“AnonymousType#1 不包含 'ToList' 的定义并且没有扩展方法 'ToList'”。我应该在答案类中创建和覆盖方法吗?