在异步获取表数据时,无法在LINQ to Entities查询中构造DbContext

时间:2017-11-18 16:09:47

标签: c# sql wpf entity-framework linq

当我在我的WPF应用程序的视图模型中运行此方法时,我收到了上述错误:

public async Task LoadTypesAsync()
        {
            EquipmentTypes = await _equipmentRepository.GetEquipmentTypes();
        }

这会在我的存储库中调用一个方法,该方法返回一个设备类型列表,如下所示:

public async Task<IEnumerable<EquipmentType>> GetEquipmentTypes()
        {
            return await _context.EquipmentTypes.Select(t => new EquipmentType()
            {
                EquipmentTypeID = t.EquipmentTypeID,
                EquipmentTypeDescription = t.EquipmentTypeDescription,
                EquipmentTypeName = t.EquipmentTypeName

            }).ToListAsync();
        }

当我的主视图模型加载时,我调用LoadTypesAsync方法将数据保存在我的EquipmentTypes属性中,该属性的类型为IEnumerable。

我真的不明白这个错误。什么阻止我抓取数据并将其插入我的列表?我的存储库保持与DB的持续连接,并且可以执行其他功能,例如插入数据就好了。

在此处调用LoadAsync方法时会显示错误:

public async Task LoadAsync() //method must be async when loading in async data and return a task
        {
            await EquipmentListViewModel.LoadAsync(); //load up the list to the left
            await EquipmentCreateViewModel.LoadTypesAsync();
        }

我不确定我是否可以在异步方法中等待几个。

0 个答案:

没有答案