Я делаю переход с 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;
}
EDIT:
Хорошо, чувствую себя немного глупо после того, как @Джон Хартсок показал мне простое решение ...
Что если я захочу сделать более сложные манипуляции со строками?