什么是我的asp.net网站使用的最佳数据库架构?

时间:2010-09-13 19:37:51

标签: asp.net entity-framework

我正在考虑使用ASP.NET 4.0创建一个新网站。我目前正在开始构建一个需要存储报告信息的网站。

我的数据库有大约25-30个表(有很多关系),我的Web应用程序需要存储和读取信息。通常,我使用的架构是分层架构,其中我有业务逻辑,业务对象和数据访问层。但我正在考虑继续使用.NET 4.0功能。

所以我正在考虑使用实体框架主要是因为我非常喜欢在更大程度上使用LINQ的想法。

如果有人能告诉我这对于我这么大的项目是否是一个好主意,我将不胜感激。我在EF上看到了一些好的和坏点,我似乎无法做出决定(可能是由于我缺乏开发经验)。

我只需要确保在将来添加其他表的情况下,该解决方案是可维护的。

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

我不得不说,Professional ASP.NET MVC中描述的方法从未让我失望,我已经两次使用它来成功的系统。如果您希望使用WebForms,可以使用类似的方法来处理数据访问类型代码。

基本上,他们使用MVC作为前端,并使用简单的存储库模式作为后端,它对我来说非常有效。

答案 1 :(得分:0)

实体框架4已经走过了漫长的道路。他们现在支持POCO模型,该模型减轻了与实体框架1相关的许多痛苦。Julie Lehrman's 2nd edition book很好地解决了这些问题。

那就是说,NHibernate 3和他们的linq提供商也是一个很好的解决方案。以及它附带的SysCache实现,对于提高性能非常有用。 EF没有二级缓存的故事。 AppFabric与设置不同且更加努力。

ORM很强大。你会发现有些人告诉你要远离它,但是编写一个数据层来执行所有查询,缓存对象,鼓励事务和简化验证的同时也是非常耗时的。

就个人而言,我更喜欢NHibernate,但两者都是很棒的工具。

答案 2 :(得分:0)

我认为EF很棒,我建议在大型和小型项目中使用它。就像它有任何它的怪癖和你可能不喜欢的东西,但总而言之它使你的数据访问更加简单。

EF中的设计人员非常简单地为您的模型添加新的表/实体(您只需要从数据库中刷新)。