IOC 与实体框架

发布于 2024-10-21 06:11:30 字数 202 浏览 7 评论 0原文

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

I am trying to make use of Unity Framework with Entity Framework. Let me explain the scenario. Let's say I have a Database with 5 tables. I will have 5 interfaces each of them corresponding to one table in Database having each field of table as a member. Now I want my Entity Framework generated classes to implement corresponding table interface. All navigational properties should return objects as interface references. This should allow me to resolve these entities using Unity framework to allow any one to extend EF(data) entities without breaking required codes. Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丘比特射中我 2024-10-28 06:11:30

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

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

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

No there is no extensibility point for resolving entities with IoC container. EF will always handle instance creation of persisted entities. Morover EF mapping must work with classes not interfaces.

You can only handle ObjectMaterialized event on ObjectContext and provide some additional initialization of created entities.

You can try to add interfaces by implementing custom T4 template and including some convention (like name of the interface is always I + name of the entity) but still without IoC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文