[英]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.