我将启动一个新项目,该项目最初将很小,但多年来可能会成长。我坚信我将使用jquery使用ASP.NET MVC。由于某些原因,我想选择MySQL作为数据库,但担心一些事情。

我是Linq的新手,但是一旦您熟悉它,它似乎更容易使用。

首先是访问数据应该很容易。因此,我认为我应该使用MySQL到LINQ,但是在某个地方我读到它不是直接支持的,但是MySQL .NET连接器增加了对EntityFramework的支持。我不知道它的利弊是什么。 DBLINQ是我也听到的。如果我可以实现存储库模式,我会很喜欢,因为它允许在逻辑层而不是数据访问层应用过滤器。如果我使用实体框架会有可能吗?

我也担心表演。有人告诉我,如果我们使用实体框架,它将获取大量数据,然后过滤。那正确吗?

因此,问题基本上是 -

  1. MySQL到LINQ是否可能?如果是,我可以在哪里获得更多详细信息?
  2. 使用EntityFramework或 dblinq 和mysql?
  3. 使用MySQL使用EntityFramework或DBLINQ访问数据会很容易吗?
  4. 我是否能够实现存储库模式,该模式允许在逻辑层而不是数据访问层应用过滤器(当我将EntityFrameWork与MySQL一起使用时)
  5. 它是否从数据库中获取了很多地狱数据,然后在其上应用过滤器?

如果在这种情况下从我这边听起来太多问题,如果您可以让我知道在这种情况下,在这种情况下,在这种情况下,您将做什么(有很大的原因),那应该回答我的问题。

有帮助吗?

解决方案

当我是Alt.net的粉丝时,我会建议您使用NHIBERNATE用于您的项目而不是EntityFramework,您可以用Google搜索优势,我坚信您会选择它。

其他提示

根据您提到的观点,我会认真考虑使用MS SQL而不是MySQL并实现LINQ-TO-SQL而不是实体框架,这就是为什么:

  1. 您期望大量流量最初告诉我,您需要考虑打算在哪里结束,而不是从哪里开始。与MySQL相比,我对MS SQL的经验要多得多,但是如果您要谈论从MySQL的社区版本开始并升级以后升级,那么无论如何,您将对企业版本产生巨大的费用。
  2. 我听说有一个支持MySQL的LINQ版本,但是,除非最近发生了变化,否则它仍在Beta中。我正在完成一个基于18个月的Web项目,该项目使用了ASP.NET MVC 1.0,LINQ-TO-SQL,JavaScript,Jquery,Ajax和MS SQL。我使用WATIN实施了存储库模式,视图模型,接口,单元测试和集成测试。技术的组合对我来说非常有效,我计划与我正在开发的个人项目相同的组合。
  3. 当您获得带有托管计划的MS SQL时,通常可以从该实例创建多个数据库。看起来它们为您提供了更多的存储空间,因为它们为您提供了多个MySQL数据库,但这仅仅是因为架构仅支持每个实例的一个数据库的创建。
  4. 我不会为我的ASP.NET MVC项目使用实体框架,因为我首先对Ado.net并不疯狂。我不想打开连接,创建命令对象,填充参数集合,发布执行方法,然后通过单向读取器对象迭代以获取我的数据。一旦看到LINQ-TO-SQL如何简化了该过程,您也不希望返回。在我前面提到的项目中,我在数据库中有60多个表,并具有大约200个外键关系。因为我在数据层中使用了Linq-to-SQL与存储库模式,所以我能够使用 不是一个 存储过程。 LINQ到SQL会自动保护SQL注入攻击,并支持乐观和悲观的并发检查。

我不知道您的项目是什么,但是您不想陷入以后在扩展应用程序时遇到困难的情况。最终结果的代码,而不是出发点,以后您会为自己节省很多头痛。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top