批量同步数据子集

BulkSynchronize a subset of data

我正在使用 EF 扩展并希望同步数据的子集。

例如我的table:

|Type|Value|
------------
|A   |1    |
|B   |2    |
|B   |3    |
|A   |4    |
|A   |5    |

新数据来了

|Type|Value|
------------
|B   |6    |
|B   |7    |
|B   |8    |

并且我想在不触及 A 的情况下替换所有 B 以获得

|Type|Value|
------------
|A   |1    |
|B   |6    |
|B   |7    |
|B   |8    |
|A   |4    |
|A   |5    |

有什么方法可以使用批量操作来实现吗?

免责声明:我是项目的所有者Entity Framework Extensions

您正在寻找 ColumnSynchronizeDeleteKeySubsetExpression 个选项。

例如,只有 type 与您的 new data 中的类型相同(因此只有 B 类型)将被删除:

ctx.BulkSynchronize(list, options => options.ColumnSynchronizeDeleteKeySubsetExpression = c  => c.Type);

如果您需要一些帮助来实施它,请告诉我。