[英]Linq to Entities - NotSupportedException - dynamic type - string.Format
我正在从Linq-to-SQL切换到Linq-to-Entities并且在转换过程中遇到错误“LINQ to Entities无法识别方法'System.String Format(System.String,System.Object ,System.Object)'方法,并且此方法无法转换为商店表达式“。 以下代码是罪魁祸首。 我知道这必须使用我在下面使用的动态类型生成。 我怎样才能使用动态类型并使用L2E?
var query = _db.Persons.Where(p => p.PersonId == PersonId);
if (query.Count() > 0)
{
var data = query.Join(_db.Users, p => p.UserId, u => u.UserId, (p, u) => new
{
Id = p.PersonId,
Name = string.Format("{0} {1}", p.FirstName, p.LastName),
Phone = p.Phone,
Email = u.Email
}).Single();
return data;
}
编辑:好的,在@John Hartsock向我展示简单的解决方案之后感觉有点愚蠢......
如果我想做一些更复杂的字符串操作怎么办?
为什么不呢?
var query = _db.Persons.Where(p => p.PersonId == PersonId);
if (query.Count() > 0)
{
var data = query.Join(_db.Users, p => p.UserId, u => u.UserId, (p, u) => new
{
Id = p.PersonId,
Name = p.FirstName + " " + p.LastName,
Phone = p.Phone,
Email = u.Email
}).Single();
return data;
}
这是一个很好的链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.