相关疑难解决方法(0)

为什么Entity Framework无法在LINQ语句中使用ToString()?

适用于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中使用这种语句或解释为什么会出现这个错误?

c# linq entity-framework linq-to-sql

13
推荐指数
3
解决办法
9223
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1

linq-to-sql ×1