c# - Entity Framework 和带有延迟加载的构造函数注入(inject)

标签 c# entity-framework dependency-injection inversion-of-control

有没有办法用 Entity Framework 实现依赖注入(inject)和延迟加载?

当您连接到ObjectStateManagerChanged时,我知道方法,但我想改用构造函数注入(inject),并使我的模型实体不知道任何 IOC 容器。 (假设我已经分离了 BLL 和 DAL,并且希望保持 BLL 尽可能少的外部依赖)。

谢谢。

最佳答案

完全防止在实体中使用依赖注入(inject)。看看this SO question例如。

尝试使用command / handler pattern用于编写业务操作。通过定义一个通用接口(interface),您可以通过实现简单的装饰器来实现良好的可扩展性和安全检查。

为了防止 UI 开发人员访问他们不应该访问的数据,请编写一个(或多个)装饰器来包装命令处理程序(和 query handlers ),并防止从业务层返回具有延迟加载功能的实体。相反返回 DTO s。这样业务层就有了完全的控制权。

关于c# - Entity Framework 和带有延迟加载的构造函数注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660502/

相关文章:

c# - 通过 MySQL 更新时出现错误 输入字符串格式不正确

mysql - 将泰米尔语文本存储到 MySQL 中

c# - 如何使 Fluent API 配置与 MVC 客户端验证一起使用?

angular - 如何从组件访问 "root"ViewContainerRef

java - Guice 中构造函数修饰符的最佳实践

spring - 如何将 IoC 注入(inject) Kotlin 顶级函数?我什至使用 IoC 容器吗?

c# - 简化字符串拆分

c# - 如何确定 CultureInfo 实例是否支持拉丁字符

c# - 以编程方式生成带有设计的 PDF 报告

c# - Entity Framework 的日期时间格式