C# 如何连接到.NET framework内的MySQL数据库?

C# 如何连接到.NET framework内的MySQL数据库?,c#,.net,mysql,performance,odbc,C#,.net,Mysql,Performance,Odbc,我在这里开始讨论一个主题,我找不到足够好的答案来称之为最终答案:MySQL和.NET 虽然我知道有很多方法可以建立这种联系,但我正试图找出每种方法的优缺点列表 从我的项目开始,我就一直在使用ADO.NET和MySQL NETconnector,当数据库是新的并且没有太多记录时,一切都正常。但现在我面临着记录数量呈指数增长的情况,我找到了另一种查询数据库的方法,即ODBC连接器。使用ADO.NET+NETConnector解决方案,我有了O/RM,不必编写查询,而ODBC现在让我的代码看起来很糟糕

我在这里开始讨论一个主题,我找不到足够好的答案来称之为最终答案:MySQL和.NET

虽然我知道有很多方法可以建立这种联系,但我正试图找出每种方法的优缺点列表

从我的项目开始,我就一直在使用ADO.NET和MySQL NETconnector,当数据库是新的并且没有太多记录时,一切都正常。但现在我面临着记录数量呈指数增长的情况,我找到了另一种查询数据库的方法,即ODBC连接器。使用ADO.NET+NETConnector解决方案,我有了O/RM,不必编写查询,而ODBC现在让我的代码看起来很糟糕(因为我没有完全切换到ODBC,我的代码中有Linq查询和纯SQL查询)


是否有任何解决方案(免费或非免费)可以让我既拥有一个O/RM,又不需要自己编写SQL查询和ODBC的速度

您应该使用,并以的形式将查询存储在数据库中。MySQL连接器的6.0版也支持。如果您对使用实体框架感兴趣,请查看描述如何设置实体框架的内容。

更新评论

它是对象模型的字节码生成器,允许NHibernate执行延迟加载和其他操作。提供的链接解释了这些好处

Castle和LinFu是这些代理生成器的两种不同实现


虽然NHibernate没有关于如何使用它的所有信息,但都在互联网上。不过,这可能会对某些人的可用性造成障碍。由于我过去使用Hibernate的经验,我对NHibernate有了更多的了解。

@Bruno-这听起来不像是ADO.NET的问题。这听起来更像是数据库问题。您的表是否有正确的索引?试着直接从MySQL前端运行相同的查询,看看速度是否仍然是一个问题这正是我正在做的,并且工作正常,但是随着我的数据库的增长,它变得越来越慢(这是很明显的),而ODBC速度并没有以这么大的速度下降。这仍然不是一个问题,这就是问题所在。@Bruno只是想澄清一下,随着数据库变得越来越大,使用ORM解决方案进行查询的时间会更长吗?首先,您需要对代码进行分析,以了解其发生的原因。如果我不得不开始滔滔不绝地说出随机的原因,它可能会变得更慢,我会说这是一个绘图问题。您的ORM解决方案可能会尝试构建每个查询的所有对象的完整图形,如果存在循环依赖项且没有延迟加载,则速度会特别慢。在电话上,将修复简短的回答此nHibernate的问题是,它只是在我面前抛出一堆名称,并说“现在,找出答案”。甚至他们网页上的教程也被认为是写得很差和过时的,所以这是一个问题(一个很大的问题)。我应该还是不应该使用Castle?我必须自己创建xmls,还是Castle的功能?我想你能看到问题所在。