Я новичок в модели ADO.NET Entity Framework. Использование DotNet Framework 3.5
У меня есть две таблицы:
а именно клиентов и города
Таблица клиентов ссылается на столбец с названием города в таблице city (отношение внешнего ключа)
При создании формы win c # я даю пользователю возможность фильтровать клиентов по его выбору (а именно: имя, город, номер и т. Д.). Вот моя структура
using(DataContext dc = new DataContext())
{
IEnumerable cust = dc.customers;
if(name != null) {
cust = cust.Where<customers>(c => c.name == name);
}
if(mobile != null) {
cust = cust.Where<customers>(c => c.mobile == mobile);
}
if(city != null) {
cust = cust.Where<customers>(c => c.city.cityname == city); //ERROR HERE
}
}
Я получаю исключение NullPointerException, поскольку метод EntityReference.Load не вызывается. Вполне логичный момент и я на это согласен.
Я хотел бы получить несколько советов о том, как вызвать метод load в текущей архитектуре. Можно ли как-то сделать это:
<code> c.cityReference.Load();
c.city.cityname == city
Или, может быть, какое-то лямбда-выражение (я новичок в этом), которое вызывает оба утверждения? Не предложения?
Я готов изменить текущую архитектуру, если у кого-то есть лучший совет.