gpt4 book ai didi

c# - Linq to Entities - NotSupportedException - 动态类型 - string.Format

转载 作者:行者123 更新时间:2023-11-30 15:09:37 26 4
gpt4 key购买 nike


我正在从 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;
}

给你一个很好的链接

http://msdn.microsoft.com/en-us/library/cc716715.aspx

关于c# - Linq to Entities - NotSupportedException - 动态类型 - string.Format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4248818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com