我正在尝试连接给定代码中的某些字段。它仅适用于字符串字段,但是当我连接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()'方法,并且此方法无法转换为商店表达式。”
请帮帮我。提前谢谢。
答案 0 :(得分: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 converting int to string in Linq to entities
答案 1 :(得分: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();