LINQ to Entities не распознает метод Int32 get_Item (Int32)
Я новичок в инфраструктуре сущности и linq. Мой запрос похож на этот
var query = (from d in db.MYTABLE
where d.RELID.Equals(myInts[0])
select d.ID).Distinct();
List<int?> urunidleri = query.ToList();
Когда я выполняю этот код, я получил сообщение об ошибке "LINQ to Entities не распознает метод Int32 get_Item (Int32)". Как я могу решить свою проблему?
Спасибо...
Ответы
Ответ 1
Вам нужно сохранить int
в переменной, чтобы EntityFramework не пыталась вытащить весь массив в область видимости.
var myInt = myInts[0];
var query = (from d in db.MYTABLE
where d.RELID.Equals(myInt)
select d.ID).Distinct();
List<int?> urunidleri = query.ToList();
Ответ 2
var firstInt = myInts[0];
var query = (from d in db.MYTABLE
where d.RELID.Equals(firstInt)
select d.ID).Distinct();
List<int?> urunidleri = query.ToList();
Ответ 3
Запрос Linq в конечном итоге преобразуется в SQL-запрос, и LINQ не знает, что делать с Session["UserName"]
(который получает элемент "UserName" ).
Общим способом обхода этого является просто использование локальной переменной, которой вы назначили Session["UserName"]
, и которую вы будете использовать в своем запросе Linq...
как
string loggedUserName = Session["LogedUsername"].ToString();
var userdetail = dc.faculties.Where(a => a.F_UserName.Equals(loggedUserName)).FirstOrDefault();
ссылка http://mvc4asp.blogspot.in/