0

在工作中,有一个应用程序是使用 Entity Framework Database First 方法开发的。因此,我们的业务实体类派生自 Entity Framework Database First 的 EntityObject 类。

我们的团队将通过从实体框架数据库优先方法转移到实体框架代码优先方法来修改应用程序。

但是,我们必须修改所有通过修改它们派生的业务实体类,使它们停止从 EntityObject 类继承。

问题是我们在很多类中使用了很多 EntityObject 类的方法和其他特性。

我们计划创建一个 BasePOCO 类来替换 Entity Frameworks Database First EntityObject 类。

我们必须在 BasePOCO 类中实现一些方法,这些方法的功能与 EntityObject 类中的一些方法相同。

例如,我们在代码文件中有以下行(下面代码行中的实体实例属于 EntityObject 类型)

entity.GetType().GetProperty(firstFilter + _referenceKey);

我们可以将其替换为(我们必须实现执行类似操作的方法):basePOCOEntityObject.GetType().GetProperty(firstFilter + _referenceKey);

我假设可能有很多公司从实体框架数据库优先方法转移到代码优先方法因此,有没有人已经创建了类似 BasePOCO 的东西(它基本上有很多类似于 Entity Frameworks Database First EntityObject 类的功能)?

4

1 回答 1

1

GetType() 不是 EntityObject 方法。它适用于所有对象。

EntityObject的方法大多被 DbContext.ChangeTracker 上的方法所取代。主要区别在于您必须有一个 DbContext 对象才能调用这些方法。这可能需要一些代码重组。

于 2018-05-01T11:18:33.380 回答