【发布时间】:2011-02-25 22:02:32
【问题描述】:
我将开始一个新项目,该项目最初规模很小,但随着时间的推移可能会变得很大。我坚信我将使用 ASP.NET MVC 和 jQuery 作为 UI。由于某些原因,我想将 MySQL 作为数据库,但担心的事情很少。
我对 Linq 完全陌生,但是一旦您熟悉它,它似乎更容易使用。
首先,访问数据应该很容易。所以我想我应该使用 MySQL to Linq,但在某处我读到它不直接受支持,但 MySQL .NET 连接器增加了对 EntityFramework 的支持。我不知道它的优点和缺点是什么。我也听说过 DbLinq。如果我可以实现存储库模式,我会很高兴,因为它允许在逻辑层而不是数据访问层中应用过滤器。如果我使用实体框架可以吗?
我也担心性能。有人告诉我,如果我们使用实体框架,它会获取大量数据然后对其进行过滤。对吗?
所以问题基本上是 -
- MySQL 到 Linq 是否可行?如果是,我在哪里可以获得更多详细信息?
- 在 MySQL 中使用 EntityFramework 或 DbLinq 的优缺点?
- 使用 EntityFramework 或 DbLinq 与 MySQL 访问数据是否容易?
- 我能否实现允许在逻辑层而不是数据访问层应用过滤器的存储库模式(当我将 EntityFramework 与 MySQL 一起使用时)
- 它会从数据库中获取大量数据然后对其应用过滤器吗?
如果在这种情况下我的问题听起来太多了,如果您可以让我知道作为该领域的经验丰富的人在这种情况下您会做什么(有充分的理由),那应该可以回答我的问题。
【问题讨论】:
-
如果你有多年的 MSSQL 使用经验,但使用 MySQL 的经验很糟糕,为什么你会选择在实际项目中使用 MySQL(而不是爱好/学习项目)?您可以从 SQL Express 开始,它与完整的 SQL 一样适用于您想要做的事情,它是免费的,并且还具有与 MVC/.NET 完全兼容的额外好处。只是好奇...
-
我很可能会在共享托管服务提供商上托管这个网站。它们允许大型 MySQL 数据库以比 MS SQL Server 的小型限制更低的成本。其次,有一天当我的网站上的点击量很大并且数据增加时,我可能会将它放在我自己的服务器上,这对 SQL Server 的许可将是一个大问题。
-
@Ismail:如果您的点击量很大,但仍然无法从您的申请中获得足够的利润来支付许可费用,那么您将做一些毫无价值的事情。此外,光是流量就可能比许可证花费更多。
-
许可问题稍后会出现我并不担心。但是...“它们允许大型 MySQL 数据库的成本低于 MS SQL Server 的小型限制。”
-
如果您没有那么多流量,那么您应该可以使用可以获得的任何大小的 SQL 服务器数据库。如果您获得大量流量,只要您的数据库保持小于 4 GB,SQL Express 仍然可以提供相当多的性能。如果您需要许可副本,您可以加入 WebSiteSpark 并免费获得 3 年,这应该有足够的时间让您赚到足够的钱来支付费用。
标签: mysql asp.net-mvc linq data-access-layer linq-to-mysql