Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 8
1

Mysql. Выражению LINQ to Entities не удается распознать метод

24.01.2017, 16:15. Показов 2035. Ответов 1

Author24 — интернет-сервис помощи студентам
Имеется запрос:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var query = (from persons in _entity.Persons
                         where persons.Id == personId select new Person
                         {
                             PersonId = (int)persons.Id,
                             PersonName = persons.PersonName,
                             PersonLastName = persons.PersonLastName,
                             PersonPatronymic = persons.PersonPatronymic,
 
                             PersonSigns = new PersonSigns()
                            {
                                  BodyType = _entity.PersonsSignsBodyType
                                                           .Where(c => c.PersonId == persons.Id)
                                                           .AsEnumerable()
                                                           .Select(c => c.PersonBodyType).ToList())
                            });
query.ToList().FirstOrDefault();
При выполнении запроса выходит исключение:
"Выражению LINQ to Entities не удается распознать метод "System.Collections.Generic.List`1[System.Nullable`1[System.Int32]] ToList[Nullable`1](System.Collections.Generic.IEnumerable`1[System.Nullable`1[System.Int32]])", поэтому его нельзя преобразовать в выражение хранилища."
Но если убрать этот кусок кода, то все работает
C#
1
2
3
4
BodyType = _entity.PersonsSignsBodyType
                       .Where(c => c.PersonId == persons.Id)
                       .AsEnumerable()
                       .Select(c => c.PersonBodyType).ToList()
Как мне правильно составить внутренний запрос?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2017, 16:15
Ответы с готовыми решениями:

Выражению LINQ to Entities не удается распознать метод
есть модель User, она используется для генерации бд в EF Code First. public class User ...

LINQ to Entities не удается распознать метод System.DateTime
IQueryable<Shorts> channel_data = from channels_shorts in context.Shorts where...

Сохранение в БД (LINQ to Entities)
Здравствуйте! Помогите с проблемой. При добавлении записи в БД, она не сохраняется. Первоначально в...

DateTime в LINQ to Entities
Имеется БД (postgreSQL), взаимодействие происходит через Entity Framework Code Fisrst. В таблице...

1
Администратор
Эксперт .NET
17027 / 13379 / 5218
Регистрация: 17.03.2014
Сообщений: 27,369
Записей в блоге: 1
25.01.2017, 15:16 2
murashik, насколько я понимаю ты хочешь получить person и связанные с ним PersonBodyType. Раз это связанные данные, то значит в сущности person должно быть навигационное свойство для этого. Соотвественно достаточно получить person и всё.
C#
1
2
3
Person somePerson = (from persons in _entity.Persons.Include(p => p.PersonSigns)
                         where person.Id == personId
                         select person).FirstOrDefault();
0
25.01.2017, 15:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2017, 15:16
Помогаю со студенческими работами здесь

Литература по LINQ to Entities
Вечер добрый. Поделитесь, пожалуйста, ссылкой на хорошую книгу по linq2entities, если есть на...

C# LINQ to Entities Удаление строки
Не получается удалить строку..(( private void button4_Click(object sender, EventArgs e)//удаление...

LINQ to Entities query expression
Здравствуйте, в урезанном варианте имею такой код Expression<Func<User, string>>...

динамический ConnectionString в LINQ to Entities
Работая с ADO.NET я делал класс который проверял на какой машине запускаться приложение, если это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru