Исправление ошибки Error LINQ to Entities does not recognize the method 'System.Guid Parse(System.String)'

При компиляции MVC решения с использованием EntitiFramework столкнулся с ошибкой "LINQ to Entities does not recognize the method 'System.Guid Parse(System.String)' method, and this method cannot be translated into a store expression."

Line 25: Take(_perPage).ToList());
Line 26: }
Line 27: return View(db.tbl_Department.Where(z => z.Status != 4).Where(x=>x.Parent == Guid.Parse(_rootDepartment)).
Line 28: Take(_perPage).ToList());
Line 29:

Причина ошибки оказалась в том, что EntityFramework пытается сделать из Guid.Parse SQL запрос, а такой SQL запрос не может быть сформирован.

 Exception Details: System.NotSupportedException: LINQ to Entities does not recognize the method 'System.Guid Parse(System.String)' method, and this method cannot be translated into a store expression.

Для исправления нужно просто вынести Guid.Parse(string) за границы лямбда-выражения.

var guidDep = Guid.Parse(id);
            
            return View(db.tbl_Department.Where(z => z.EntityStatus != 4).Where(x => x.Parent == guidDep).

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика