Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL和Oracle在.NET中的最佳实践_.net_Sql_Oracle_Linq To Sql_Ado.net - Fatal编程技术网

SQL和Oracle在.NET中的最佳实践

SQL和Oracle在.NET中的最佳实践,.net,sql,oracle,linq-to-sql,ado.net,.net,Sql,Oracle,Linq To Sql,Ado.net,我想知道在使用.Net中的Oracle和SQL时会使用哪些最佳实践 先例:免费解决方案、查询性能、可重用代码 例如,对Oracle和SQL使用相同的LINQ查询将是很好的选择。但据我所知,LINQ2SQL只适用于Sql、实体框架(没有oracle提供商(例如,我不想从Codeplex购买和使用)、nHibernate,所以我需要近似于纯查询的性能 您在项目中使用了什么?my.NET brothers?:) 感谢您的经验。您可能想查看nhibernate。它是一种开源ORM,可用于大多数主要数据库

我想知道在使用.Net中的Oracle和SQL时会使用哪些最佳实践

先例:免费解决方案、查询性能、可重用代码

例如,对Oracle和SQL使用相同的LINQ查询将是很好的选择。但据我所知,LINQ2SQL只适用于Sql、实体框架(没有oracle提供商(例如,我不想从Codeplex购买和使用)、nHibernate,所以我需要近似于纯查询的性能

您在项目中使用了什么?my.NET brothers?:)


感谢您的经验。

您可能想查看nhibernate。它是一种开源ORM,可用于大多数主要数据库。

我喜欢存储过程,我认为它们提供了很好的性能和优雅。 nHibernate也是一个很好的解决方案

除了这两个,我不记得我能推荐什么:)

我会使用或和

这里有一个链接,显示了如何使用它。

另一个以简短教程的形式发布。

简而言之,
NHibernate
是一种ORM(对象关系映射)工具,它允许您使用XML文件将面向对象的类映射到底层数据表,而不管您使用的是什么底层数据存储。只需使用数据存储的连接字符串对其进行配置,并为其提供正确的.NET数据提供程序,即可使其完全正常工作

另一方面,
企业库的数据访问应用程序块
是对传统ADO.NET的一种包装,以简化其使用。您可以命名连接字符串并打开到这些基础命名数据库/连接字符串的连接。一旦您掌握了此库的
数据库
对象及其配置功能,就不可能阻止您访问数据

这有用吗? 你需要进一步的细节,我可以帮你吗

编辑#1

NET中的任何内容都不会执行为“纯SQL查询”,因为.NET是托管代码。另外,在查询数据库之前,必须考虑连接开销和身份验证。

编辑#2

以下是NHibernate支持的数据库列表:

我似乎无法使用EntLib DAAB轻松(快速)找到受支持的数据库列表,但以下是我迄今为止已经使用过的内容:

  • Oracle 8i、9i和10g(请使用本机Oracle.NET数据提供程序以获得更好的性能和行为)
  • SQL Server 2005/2008
  • SQLite
  • 微软访问

  • 还支持许多其他功能。

    您还可以使用ADO.NET中的通用数据提供程序。请参阅System.Data.Common Namespace-和“在ASP.NET 2.0和ADO.NET 2.0中编写通用数据访问代码”

    因此,基本上你是说你可以负担得起oracle许可证,但你负担不起NHibernate许可证?@klausbyskov:也许他正在使用oracle Database Express,在生产环境中可以自由使用哪一个?我不想添加像nHibernate这样强大的怪物而失去性能,因为我所需要的只是发出请求,这些请求将在不同的RDB中快速执行。nHibernate经过分析和优化以获得最大性能。无论如何,如果需要这样的性能,您甚至可以选择非托管代码而不是.NET,后者的开销相当于托管代码。在对底层数据存储执行查询时,您几乎不会注意到NHibernate和EntLib DAAB之间的区别。+1是的,
    System.Data.Common
    命名空间可以做到这一点!这就是构建企业库的数据访问应用程序块要包装的内容。=)