无法创建类型的常量值。尝试将viewmodel中的数据与上下文匹配

时间:2016-11-04 09:24:13

标签: c# asp.net-mvc entity-framework

我试图从视图中选择设备并将它们与上下文中的设备匹配,但我只能得到以下内容:

  

无法创建 ViewModels.XXXViewModel 类型的常量值。在此上下文中仅支持原始类型或枚举类型。

<template>
  <div>A</div>
  <div>B</div>
</template>

1 个答案:

答案 0 :(得分:2)

我怀疑你应该selected列出一系列ID ...然后你可以使用Contains

public ActionResult TransferDevices(IList<XXXViewModel> viewModel)
{
    var selected = viewModel.Where(x => x.isSelected)
                            .Select(x => x.Id)
                            .ToList();
    IQueryable<Device> devicesQueryable = _db.Devices;

    var devices = devicesQueryable.Where(x => selected.Contains(x.Id)).ToList();
}

我希望期待能够正常工作......对于LINQ提供商来说,翻译肯定更容易。