gpt4 book ai didi

entity-framework - Entity Framework CTP5 和 Ninject 作为我的 IOC

转载 作者:行者123 更新时间:2023-12-04 07:25:20 26 4
gpt4 key购买 nike

在 Entity Framework CTP5 中是否可以通过 IOC 容器构建检索到的持久化实体?

我正在使用 Ninject,它与 MVC 紧密结合,但我需要在为某些业务规则构建域对象时将一些服务注入(inject)到它们中。

我宁愿使用构造函数注入(inject)而不是方法或属性注入(inject)。

最佳答案

我不确定您到底想在这里完成什么,但是 EF 几乎没有可扩展性点。您能做的最好的事情就是连接到由 ObjectContext 触发的 ObjectMaterialized 事件。在 CTP5 中,您需要在 DbContext 的构造函数中像这样转换 DbContext:

((IObjectContextAdapter)this).ObjectContext.ObjectMaterialized += 
this.ObjectContext_OnObjectMaterialized;

然后实现您的函数ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e)。您将能够访问您的对象,不幸的是,它已经被物化了。根据您的需要,您或许可以在此处加入一些有趣的行为。

顺便说一句,这句话对我来说毫无意义:

在为某些业务规则构造域对象时,我需要将一些存储库注入(inject)到它们中。

这不违背持久性忽略领域对象吗?

关于entity-framework - Entity Framework CTP5 和 Ninject 作为我的 IOC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4562276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com