LINQ to Entities не распознает метод Int32 get_Item (Int32) - PullRequest
59 голосов
/ 08 марта 2011

Я новичок в области сущности и 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)».Как я могу решить мою проблему?

Спасибо ...

Ответы [ 3 ]

131 голосов
/ 08 марта 2011

Вам необходимо сохранить int в переменной, чтобы EntityFramework не пытался втянуть весь массив в область видимости.

7 голосов
/ 08 марта 2011
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();
0 голосов
/ 08 сентября 2014

Запрос 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...