【发布时间】:2017-08-16 04:21:31
【问题描述】:
我有一张这样的桌子:
库存表
- InventoryID(主键)
- PersonID(外键)
- CarID(外键)
所以在前端显示了一个汽车列表,用户使用一个复选框来选择他们库存中的汽车。
如果他们取消选择车辆并重新选择它,它将不再具有 InventoryID。
最后,我将得到一个包含正确字段名称的列表,但我需要数据库行来匹配该列表,方法是从数据库中删除不在该列表中的车辆并添加列表中的新车辆,并且我需要通过 PersonID + CarID 组合进行检查,因为 InventoryID 可能因取消选择和重新选择车辆而丢失。
我能想到的唯一方法是:
- 拉出库存表并循环遍历它
- 检查每辆车是否在列表中
- 删除、插入或什么都不做
不过,这样做的缺点是每次删除/插入都将是在查询之上的一个新查询,以获取列表本身。我想知道实体框架中是否有办法执行匹配列表或集合之类的操作。
【问题讨论】:
-
添加你使用的代码
-
我还没有使用任何代码,我正在尝试先看看Entity Framework中是否已经内置了一些东西。
-
If they unselect a vehicle and reselect it, it will no longer have the InventoryID什么意思? -
当他们第一次从数据库加载时,它将有一个 InventoryID,但如果他们选中一个框,那么该关联将还没有一个 InventoryID,所以如果他们取消选中一个框并再次选中它, InventoryID 将不再存在于该列表中,因此我无法使用 InventoryID 来检查数据库,我必须通过其他两个字段进行检查
标签: c# entity-framework