gpt4 book ai didi

c# - 领域驱动设计和 Entity Framework 4.1(代码优先)

转载 作者:太空狗 更新时间:2023-10-29 20:17:59 26 4
gpt4 key购买 nike

我目前正在学习领域驱动设计方法进行开发,并使用 Tim McCarthy 撰写的 .NET 领域驱动设计与 C# 一书作为指南。

这本书真的很有帮助,但在使用 Entity Framework 时,我变得有点不知所措,尤其是 4.1 中可用的代码优先方法。

根据书中的例子,分层架构方法应该意味着基础设施层看不到模型/领域。

那么,在不违反分层方法的情况下,将我的域 poco 映射到数据库上下文类中的最佳方法是什么(我假设)应该位于基础结构层中?

很有可能我的想法完全错误,所以请让我知道,因为我还在学习!

非常感谢:)

亚当

最佳答案

当今的大多数 ORM,例如 EF 4.1 和 Nhibernate(流畅的 Nhibenrate 插件)都可以通过映射类描述从 POCO 到 Db 上下文的映射。这些映射类最好放在基础设施数据库项目中,也许与 ORM session 特定类一起放置。

那么您的 POCO 领域类应该放在一个领域项目中,该项目不应该有任何对其他组件或项目的引用。但是基础设施数据库项目应该引用域,以便您的映射类可以描述应该如何从持久状态加载 POCO。

使用大量的依赖注入(inject)以及良好而可靠的 IoC 框架(温莎城堡...)。这将帮助您稍微放松一下。最好依赖抽象/接口(interface)而不是实现。

这是基础知识 http://www.infoq.com/articles/ddd-in-practice

但幸好您决定采用 Code First 方法。如果可以的话,我真的推荐这种方法。但有时当旧的遗留系统受到干扰时,事情就没那么容易了。

关于c# - 领域驱动设计和 Entity Framework 4.1(代码优先),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8043374/

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