相关疑难解决方法(0)

将Linq转换为实体中的字符串的问题

var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId, //Cannot implicitly convert type 'int' (ContactId) to 'string' (Value).
                Text = c.Name
            };
var items = from c in contacts
            select new ListItem
            {
                Value = c.ContactId.ToString(), //Throws exception: ToString is not supported in linq to entities.
                Text = c.Name
            };
Run Code Online (Sandbox Code Playgroud)

无论如何我能做到这一点吗?注意,在VB.NET中没有问题使用它工作得很好的第一个片段,VB很灵活,我无法习惯C#的严格!

c# asp.net linq-to-entities tostring

199
推荐指数
4
解决办法
19万
查看次数

LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为存储表达式

我正在将一些东西从一个mysql服务器迁移到一个sql server但我无法弄清楚如何使这个代码工作:

using (var context = new Context())
{
    ...

    foreach (var item in collection)
    {
        IQueryable<entity> pages = from p in context.pages
                                   where  p.Serial == item.Key.ToString()
                                   select p;
        foreach (var page in pages)
        {
            DataManager.AddPageToDocument(page, item.Value);
        }
    }

    Console.WriteLine("Done!");
    Console.Read();
}
Run Code Online (Sandbox Code Playgroud)

当它进入第二个时foreach (var page in pages)它抛出一个异常说:

LINQ to Entities无法识别方法'System.String ToString()'方法,并且此方法无法转换为存储表达式.

谁知道为什么会这样?

c# mysql sql linq

126
推荐指数
7
解决办法
18万
查看次数

标签 统计

c# ×2

asp.net ×1

linq ×1

linq-to-entities ×1

mysql ×1

sql ×1

tostring ×1