- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法使用 EF6 注入(inject)自定义对象实例创建器?我需要做的是在矩阵化发生之前向 EF 提供实体实例。
基本上,我希望能够使用非无参数构造函数定义 POCO 实体,以便能够使用 DI 聚合,最终使用 EF 进行持久化。
我可以使用 ObjectMaterialized 事件实现类似的效果:
var oc = ( this as IObjectContextAdapter ).ObjectContext;
oc.ObjectMaterialized += ( s, e ) =>
{
//resolve and inject dependencies here using e.g. public properties
};
但我真的很喜欢在构造函数上声明依赖项。
有什么想法吗?干杯,.m
最佳答案
使用默认的 ObjectContext,在查看 EF 代码后我认为这是不可能的。最终对象是由ObjectContext.CreateObject
创建的。这会执行以下两件事之一:它要么调用默认构造函数,要么如果启用了代理创建,则它会创建相关的代理类型。代理类型用于增强更改跟踪和延迟加载属性。
但是,ObjectContext.CreateObject
是虚拟的,因此可以在派生类中重写它。该派生类将提供对容器(或生命周期范围)的引用,然后在重写的 CreateObject 调用中,这将用于解析实体。
问题就变成了,如何将派生类型指定为 ObjectContext
以用于 DbContext
?嗯,有a constructor that takes an instance of the ObjectContext
应该使用DbContext
。
这就是我的想法开始有点偏离轨道的地方,因为 ObjectContext
本身需要 to be told关于它在连接字符串中使用的模型。我认为这可能意味着代码优先方法不起作用,因为模型是延迟创建的,因此在构建 DbContext 之前不可用。但是,对于模型优先方法,也许这可行?
关于entity-framework - 自定义实体具体化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14412552/
可能很明显,但给出这段代码(来自 http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/reify ): (defn
我有一个空页面,我在其中动态添加元素,我正在尝试使用 Materialize,但我遇到了图形问题... 我已按照“http://materializecss.com/”上的不同教程使用正确的方法添加元
我正在尝试定义关系 callto_status(Goal, Status)总是成功,根据调用Goal的结果统一Status (换句话说,我想实现 call_with_inference_limit/3
我在为我的网站设置包含自动完成 (https://materializecss.com/navbar.html) 的物化搜索栏 (https://materializecss.com/autocomp
我有一个即将到来的逻辑考试,并且一直在学习我类(class)中的一些过去的论文。我遇到了一个关于物化的问题,并将其发布在下面; 用具体化来表示变量 B 的性质 取值为 1 或 8。 在阅读了一些资源并
我有一个 Laravel 项目,其中一个页面有 5 个模态(MaterializeCSS),每个模态都有一个表单。当我提交表单并遇到任何验证错误时,模式必须重新打开。 我可以通过运行以下代码来实现这一
我是一名优秀的程序员,十分优秀!