任何想法/有超过3000的存储过程的数据库上的评论查询/访问超过1,400表(过于归一化)。真的想要使用像Entity Framework这样的技术,最好是4.0,并从这些存储过程中获得业务逻辑?针对存储过程的情况?
,如果你决定要分享欣赏任何现实生活中的实际经验&反馈。这是我继承的一个数据库,并且真的觉得现在是时候为了更好的业务层而放弃存储过程了。
任何想法/有超过3000的存储过程的数据库上的评论查询/访问超过1,400表(过于归一化)。真的想要使用像Entity Framework这样的技术,最好是4.0,并从这些存储过程中获得业务逻辑?针对存储过程的情况?
,如果你决定要分享欣赏任何现实生活中的实际经验&反馈。这是我继承的一个数据库,并且真的觉得现在是时候为了更好的业务层而放弃存储过程了。
不是一个真正的回答你的问题,但你仍然可以使用存储过程的实体框架:see here,基本上存储过程地图的方法调用你的上下文对象。
我的个人体验实际上与您的相反:我通常试图远离EF,因为它具有与您的应用程序紧密结合的趋势。关于sprocs的好处是它们允许一定程度的分离(例如,我可以在不修改客户端代码的情况下更新数据库)。但这当然只是我个人的看法。
是的,他们确实允许解耦,但这些sproc中的业务逻辑的数量是真的关注。它们也不是简单的CRUD操作,而是通过几个WHERE过滤器将十多个或更多表上的许多LEFT OUTER JOIN类型操作复杂化。然而我也看到你的观点,我会开始你的联系。谢谢。 – baskint 2010-06-22 16:27:46
这取决于你所工作的商店。我在许多商店工作过,这些商店对是否利用sprocs或应用程序层的代码存在强烈的意见冲突。问题是:你是否拥有更多熟悉维护plsql/tsql的人?
我个人很讨厌存储过程,并赞成ORM工具等,现在天,我宁愿保持应用程序代码的清洁。这只是在数据库中变得非常舒适之后。让数据库代码存在于它的本地环境中,并提供所有可用的工具。
在实践中,你会最终重构从EF远在短短几年内,而您的存储特效仍然可以坐在那里准备在最新最好的客户层使用。客户端无关,封装等
它工作吗?你能保持它吗?有问题吗?有具体的担忧吗?没有特定的“问题”,就没有什么可谈的了。 – 2010-06-22 02:46:22
嗯,是和不是。每次通话都是一个短片。团队在印度,我们正在使用Team City来部署前端和后端(至少现在是分开的)。这是数据访问层中的.NET 1.1和.NET 2.0应用程序。数据表,数据行,ADO.NET,企业库等。真的很想将这些引入.NET 3.5世界,以供初学者使用。谢谢你的答复,斯科特。 – baskint 2010-06-22 02:53:04
哦,偶尔代码库会与存档的不同步,并成为一个麻烦。 DBIntegrations测试无法捕获这些测试。 – baskint 2010-06-22 02:54:11