代码之家  ›  专栏  ›  技术社区  ›  Vladimir Dorokhov

.NET中的SQL和Oracle最佳实践

  •  1
  • Vladimir Dorokhov  · 技术社区  · 14 年前

    我想知道什么样的最佳实践可以用于.Net中的Oracle和SQL。

    先例:自由解决方案、查询性能、可重用代码。

    例如,对Oracle和SQL使用相同的LINQ查询将是非常漂亮的。但据我所知,LIQ2SQL仅仅是SQL,实体框架-没有Oracle提供程序(例如,我不想购买和使用CODULTEX),NHiBern-所以我需要的性能近似于纯查询。

    我的.NET兄弟们,你在你的项目中使用了什么?:)

    谢谢你的经验。

    4 回复  |  直到 14 年前
        1
  •  1
  •   Will Marcouiller    14 年前

    我要么用 NHibernate Enterprise Library 以及 Data Access Application Block .

    这里有一个链接展示了如何使用它。
    Using Microsoft Enterprise Library Data Access Application Block – Part II

    另一个是一个简短的教程。
    Get Started with the Enterprise Library Data Access Application Block

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

    另一方面, Enterprise Library's Data Access Application Block 是对传统ADO.NET的一种包装,以简化其使用。您可以命名连接字符串并打开到这些基础命名数据库/连接字符串的连接。一旦你掌握了 Database 此库的对象及其配置功能,任何东西都不会阻止您访问数据。

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

    编辑1

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

    编辑#2

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

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

    1. Oracle 8i、9i和10g(请使用本机Oracle.NET数据提供程序以获得更好的性能和行为)
    2. SQL Server 2005/2008版
    3. 数据库
    4. 数据库

    许多其他人也得到了支持。

        2
  •  1
  •   Michael Levy    14 年前

    您还可以使用ADO.NET中的公共数据提供程序。请参见System.Data.Common命名空间- http://msdn.microsoft.com/en-us/library/system.data.common.aspx 以及“在ASP.NET 2.0和ADO.net2.0中编写通用数据访问代码” http://msdn.microsoft.com/en-us/library/ms971499.aspx

        3
  •  0
  •   JSBach    14 年前

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

    除了这两个,我不记得我可以推荐的东西:)

        4
  •  0
  •   Owen Pauling tmatuschek    9 年前

    你可能想看看nhibernate。它是一个开源的ORM,可以与大多数主要数据库一起工作。 http://nhibernate.info/