1

我正在尝试连接给定代码中的一些字段。它仅适用于字符串字段,但是当我连接 int 字段时,错误就来了。

var query = (from u in db.IdFormat
                 select new
                 {
                     IdPre = u.IdPrefix + "" + u.IdDMY + "" + u.IdSeparator + "" + u.Sequence.ToString() 

                 }).FirstOrDefault();



public class IdFormat
{
    public int Id { get; set; }
    public String IdPrefix { get; set; }
    public string IdDMY { get; set; }
    public string IdSeparator { get; set; }
    public int IdSequence { get; set; }      
}

但收到错误消息“LINQ to Entities 无法识别方法 'System.String ToString()' 方法,并且此方法无法转换为存储表达式。”

请帮我。提前致谢。

4

2 回答 2

0

Linq to Entities 不支持将函数转换为服务器托管的 sql。

ToString(在任何东西上)就是其中之一。

这是一个建议解决方法的帖子:http: //mosesofegypt.net/post/2008/08/24/LINQ-to-Entities-what-is-not-supported.aspx

这是支持的功能列表:http: //msdn.microsoft.com/en-us/library/bb738681.aspx

这是一篇询问如何将 int 转换为字符串的帖子: Problem with convert int to string in Linq to entity

于 2013-09-03T11:57:42.523 回答
0

使用 LintToObject _db.IdFormat。AsEnumerable()

var query = (from u in db.IdFormat.AsEnumerable()
                 select new
                 {
                     IdPre = u.IdPrefix + "" + u.IdDMY + "" + u.IdSeparator + "" + u.Sequence.ToString() 

                 }).FirstOrDefault();
于 2014-01-20T12:55:08.220 回答