如何在Link to EF中将int转换为string?
CLR无法想象将int强制转换为string,而Entity Framework无法确定将.ToString()
翻译成什么SQL语句片段。
那么如何编写Linq语句以返回字符串而不是整数?
如何在Link to EF中将int转换为string?
CLR无法想象将int强制转换为string,而Entity Framework无法确定将.ToString()
翻译成什么SQL语句片段。
那么如何编写Linq语句以返回字符串而不是整数?
遗憾的是,EF 不知道如何转换 .ToString()
,您必须使用嵌入式函数 SqlFunctions.StringConvert:http://msdn.microsoft.com/en-us/library/dd466292.aspx。
另外,并没有针对 int 的重载,所以您必须进行类型转换为 double:-(
var vendors =
from v in Vendors
select new
{
Code = SqlFunctions.StringConvert((double)v.VendorId)
};
ToString
: http://blogs.msdn.com/b/adonet/archive/2014/03/17/ef6-1-0-rtm-available.aspx - Stephan Bauer