Я не вижу, где вы создаете экземпляр своего открытого поля equipment
.(equipment
в from equipment in...
- это другая переменная, переменная диапазона для запроса LINQ.) Глядя на ваш код, я ожидаю NullReferenceException
, потому что equipment
равно null
.
. Вам следуетесть что-то вроде:
using (MSSInvDBEntities myEntities = new MSSInvDBEntities())
{
equipment = (from e in myEntities.Equipments
select e)
.FirstOrDefault();
}
Но это также может вызвать исключение, потому что вы не загружаете свойство equipment.EquipmentInventories
, и отложенная загрузка не будет работать в вашем методе DisplayEquipmentData
, потому что вы уже удалиликонтекст (автоматически в конце блока using
).Ленивая загрузка требует контекста, который еще не удален.
В вашем случае я бы использовал загрузку, хотя:
using (MSSInvDBEntities myEntities = new MSSInvDBEntities())
{
equipment = (from e in myEntities.Equipments.Include("EquipmentInventories")
select e)
.FirstOrDefault();
}
Тогда свойство навигации загружается сразу с этим запросом, и выможете смело распоряжаться контекстом.