IOC与实体框架

Lea*_*oot 6 c# entity entity-framework inversion-of-control unity-container

我正在尝试使用带有实体框架的Unity Framework.让我解释一下这个场景.假设我有一个包含5个表的数据库.我将有5个接口,每个接口对应于数据库中的一个表,其中每个表的字段作为成员.现在我希望我的Entity Framework生成的类实现相应的表接口.所有导航属性都应将对象作为接口引用返回.这应该允许我使用Unity框架解析这些实体,以允许任何人在不破坏所需代码的情况下扩展EF(数据)实体.这可能吗?

Lad*_*nka 5

不,使用 IoC 容器解析实体没有可扩展性点。EF 将始终处理持久化实体的实例创建。Morover EF 映射必须使用类而不是接口。

您只能处理ObjectMaterialized事件ObjectContext并为创建的实体提供一些额外的初始化。

您可以尝试通过实现自定义 T4 模板并包含一些约定(例如接口名称始终为 I + 实体名称)来添加接口,但仍然没有 IoC。