这适用于LINQ-to-SQL:
var customersTest = from c in db.Customers
select new
{
Id = c.Id,
Addresses = from a in db.Addresses where c.Id.ToString() ==
a.ReferenzId select a
};
foreach (var item in customersTest)
{
Console.WriteLine(item.Id);
}
Run Code Online (Sandbox Code Playgroud)
但实体框架中的类似示例会收到一条错误消息,表示它无法"将其转换为SQL",这是德语中的原始错误消息:
"'LINQ to Entities'erkennt die Methode'System.String ToString()'nicht,und diese Methode kann nicht in einenSpeicherausdruckübersetztwerden."
翻译:
"'LINQ to Entities'无法识别Method'System.String ToString()',此方法无法转换为内存表达式.
任何人都可以阐明我们如何在Entity Framework中使用这种语句或解释为什么会出现这个错误?