基于ASP.NET的网站的数据库建议和最佳实践?

时间:2011-09-14 05:34:25

标签: asp.net mysql database linq entity-framework

我有一个我开发的网站,用于显示我所做的一些数据分析工作的结果。它依靠ASP.NET作为前端,并广泛利用Entity Framework和LINQ连接到MySQL后端。

我之所以选择MySQL,是因为我个人过去曾经使用它,就像数据库一样,但是当我不得不将它部署到托管服务提供商(不兼容的连接器,访问权限等)时,这会导致一些严重的问题。

我现在正准备重新开发和扩展网站,我正在寻找一些建议,以避免我上次遇到的问题。

新数据库必须提供两个角色。第一个是作为分析工作输出的图表的数据提供者。这些表是简单的,几乎是平面的文件,有10个表。一个表有大约200k行数据,其余每行有1200行数据。数据库表之间几乎没有引用或查询,但有一些。此数据由后端流程定期更新,无需添加到用户或由用户编辑。

DB的第二个角色是作为标准用户管理系统的基本持久存储。它需要管理用于添加/删除客户端,用户名,密码和访问权限的数据。等。不涉及财务数据或超级安全数据。

您建议使用哪种数据库方法,以便在Web主机上轻松部署和管理,并且仍允许我有效地使用Entity Framework和LINQ。

其次,当我重写这个系统时,我应该考虑哪些工具/框架。它非常以图形和数据为重点。图表和信息的呈现是本网站的关键因素。是否有任何新技术或框架可以为我正在做的事情增加特定价值?

一些笔记。我是一个单人商店,我自己维护整个系统,所以我不像其他人那样担心企业级框架。我的重点是轻松开发和部署网站。可维护性也是一个关键因素。

我也是一位经验丰富的C#开发人员,但是对ASP.NET和网络方面的新手。这个网站的第一个版本是一个很大的学习经历。这很好,但我浪费了大量时间来理解新技术和方法。我对学习非常开放,但是我没有时间去理解一个完整的模式转变。

我很期待你的想法,谢谢。

道格

1 个答案:

答案 0 :(得分:2)

自然选择是SQL Server。我猜你的描述是你在SQL Server Express版本的最大空间限制之下。我当然支持实体框架,驱动程序是.NET Framework的一部分,因此这里的第三方程序集没有问题。

这也将为以后在云端(Azure)中托管您的应用程序提供可能性,因为SQL Azure实际上是Microsoft SQL Server,因此支持它没有任何开销。

关于用户管理 - ASP.NET具有所有内置(成员资格,角色和配置文件提供程序)以及可用于默认表的SQL提供程序。因此,您不必自己设计表,它在SQL Server上运行非常自然。