实体框架/LINQ/SQL 与实体框架/LINQ/MYSQL

Posted

技术标签:

【中文标题】实体框架/LINQ/SQL 与实体框架/LINQ/MYSQL【英文标题】:Entity Framework/LINQ/MSSQL vs Entity Framework/LINQ/MYSQL 【发布时间】:2017-07-07 16:34:51 【问题描述】:

我的问题是这样的。在尝试在使用 Entity Framework 和 LINQ to SQL 作为 ORM 之间做出决定时,我试图弄清楚是使用 MSSQL 还是 mysql....哪个是首选?

我听说 LINQ to SQL 与 SQL Server 绑定,这仍然是真的吗?

我听说SQL Server中的NET集成故事(C#、Linq、Entity Framework等)更好,请分享您的意见

【问题讨论】:

【参考方案1】:

LINQ to SQL 是作为 .net 3.5 的一部分从内存中引入的。我不明白为什么你现在要在 EntityFramework 上使用它,但是,EF 已经走了很长一段路,并且据我所知提供了 LINQ to SQL 所做的所有功能: https://github.com/aspnet/EntityFramework6

【讨论】:

所以 Kris,我在使用 EF 时的另一个问题是,使用 MSSQL 还是 MYSQL 更可取? 要么工作得好,我在工作中使用 MS SQL,在我的个人资料中使用 MySQL。使用 MySQL 的好处是它的开源和免费。世界上一些最大的应用程序都使用它(所以使用 MS SQL),因此在扩展方面没有任何问题。还可以进行主主复制,这很酷。 IIRC Azure 有一个数据库 sql 实例,每月大约 5 个美国。只是托管之上的另一个成本。 EntityFramework 有大量的适配器,允许使用其他数据库引擎来代替 MS SQL。您可以从这里获取 MySQL 适配器:nuget.org/packages/MySql.Data.Entity【参考方案2】:

EF 和 Linq to Sql 都是微软的产品,SQL Server 是微软的产品。 Mysql 不是微软的产品。根据我的经验,如果你坚持使用同一个供应商,事情会更好。如果您使用 EF 或 Linq to SQL,并且您没有其他理由选择其中一个,我猜如果您将它与 SQL Server 配对,您会更开心。

【讨论】:

以上是关于实体框架/LINQ/SQL 与实体框架/LINQ/MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

实体框架 + LINQ 缓慢与字符串查询速度?

实体框架 Linq 查询:.Where 链 vs &&

为 linq 和实体框架编写扩展方法

动态 SQL 到 LINQ 实体框架

实体框架 - Linq 中的数据库视图或连接到实体

使用 SQL 和 Linq 的多对多关系(实体框架/实体)