我一直在阅读MSDN文章 http://msdn.microsoft.com/en-us/magazine/cc700340.aspx
但是想知道在asp.net,n层应用程序中使用实体框架(.net framework 3.5 sp1)是否还有其他/替代方案的最佳实践。
答案 0 :(得分:3)
我认为与实体框架一起使用的常见设计模式是存储库模式,我不会提供链接,因为谷歌搜索将返回比我在此处发布的更多。它将帮助您在界面后隐藏数据访问代码,以便更轻松地测试和分离关注点。
我认为您在最佳实践方面做出的任何选择都将在很大程度上取决于您正在使用的工具。如果您使用的是标准ASP.NET,那么我建议您使用您链接的文章中建议的MVP模式,以帮助您分离您的问题并创建可测试的代码。但是,如果您使用的是ASP.NET MVC,则MVP无关紧要,因为框架可以帮助您分离您的问题。有关环境的更多背景信息可能有助于提出建议。
答案 1 :(得分:1)
值得注意的是,作为.NET 4和EF4的一部分,这个领域受到了很多关注。
他们现在支持POCO以及自我跟踪实体,这两种实体都可以在层和层之间来回发送(包括WCF边界)。
有关详细信息,请查看有关自我跟踪实体的this blog entry。
答案 2 :(得分:1)
我喜欢使用UnitOfWork模式以及DDD和服务层。我不会将我的域对象传递给服务层以外的任何层。即使这样,我的域对象也被接口抽象化了。服务层使用适配器模式或远程外观模式将dto对象传递给其客户端。