我正在制作一个库,该库将用于使用实体框架与数据库进行对话。对于不同的工作流程,我需要来自数据库的不同表。所以我决定为不同的工作流程使用不同的模型。但对于某些工作流程,一个实体用于多个模型。现在对于一个模型,我修改了我的实体类(更改了一些 getter/setter 并添加了自定义函数)。但是当我为不同的工作流创建新模型时,模型将生成具有默认名称的实体。我必须再次编辑它,代码将被复制。两者都在不同的命名空间中(一个是 Model1Namespace,第二个是 Model2Namespace)。
所以我真正需要的是,如果在不同的类中使用实体,则使用单个代码(无重复代码)。最佳实践是什么?EF 是否为我们提供了一些东西,或者我们需要自己实现它?
例子:
Database tables: TableA, TableB, TableC, TableD
Models: Model1 -> TableA, TableB
Model2 -> TableA, TableC,
Model3 -> TableC, TableD
编辑: 我有一个包含 4 个表(TableA、TableB、TableC、TableD)的数据库。我创建了一个包含 TableA 和 TableB 的数据库的实体数据模型。在实体设计器视图中,我修改了 TableA 实体的属性名称,以便它们可读。现在我创建另一个包含 TableA 和 TableC 的模型。现在在这里我必须再次重命名 TableA 的所有属性。现在这是重复工作。现在,如果我为 Model1 的实体添加一些自定义操作,那么我也必须将它们写入(复制)到新的 Model2 实体。我需要避免这种情况。因为我真的不知道我会创建多少个模型。如果我必须一次又一次地做这些事情,那将需要很多时间。