Я использую Entity Framework 6 и извлек свою модель из базы данных.Я не установил опцию «включать столбцы внешних ключей».
Я могу добавить новые объекты в эту модель, чтобы установить ссылки на внешние ключи, я использую ссылку на другой объект, например:
client.Country = country;
При попытке запроса модели с использованием ссылок я сталкиваюсь с проблемой:
ctx.Client.Where(c => c.Country == country);
приводит к ошибке "Невозможно создать постоянное значение типа" тип страны ". Поддерживаются только примитивные типы".
Использование числового идентификатора внешнего ключа
ctx.Client.Where(c => c.id_Country == country.idCountry);
не может работать, поскольку я решил не включать столбцы внешнего ключа.
Я нашел уродливый обходной путь, загрузив все это в память и отфильтровав там, используя ссылку
List<Client> clients = ctx.Clients.ToList();
clients.Where(c => c.Country == country);
, но это не очень элегантно.
Есть идеи?Включать внешние ключи проще простого, конечно, но модель выглядит намного чище без.
Заранее спасибо!