0

我正在考虑将 TPT 继承与 EF 一起使用。我有以下表格。

库存位置 库存位置类型

StockLocationType 包含以下类型:

批量可选安全

我正在考虑使用 StockLocation 作为基表并创建一个大容量、可挑选且安全的表。在安全表中将有一个名为locked 的列,它将使位置锁定,因此没有人可以从中选择。

要将位置从可拾取切换到安全位置,我是否必须从可拾取表中删除数据并将其插入到安全表中,并在位置锁定时将锁定列设置为 true?然后在位置解锁后将其从安全表移回可拾取表?

还是每个表中都有重复记录?

似乎我在两个表之间不断地传递数据。

任何建议/建议都会很棒。

4

1 回答 1

0

要将位置从可拾取切换到安全位置,我是否必须从可拾取表中删除数据并将其插入到安全表中,并在位置锁定时将锁定列设置为 true?

这不是继承的用例。一种实体是永久的。您不能更改 EF 中的实体类型(您可以通过直接在数据库中执行 SQL 来做到这一点,但这会破坏 EF 并且可能会产生意想不到的后果)。

还是每个表中都有重复记录?

这也很难实现,因为您只能在单个表中记录派生类型,否则 EF 将无法理解它是什么类型并引发错误。

似乎我在两个表之间不断地传递数据。

如果您的数据库是以这种方式设计的,您将必须传递数据,并且您必须在 EF 中使用正常的导航属性。

于 2012-08-23T12:20:47.947 回答