C# 我可以选择哪些标准?

C# 我可以选择哪些标准?,c#,.net,asp.net,orm,wiki,C#,.net,Asp.net,Orm,Wiki,问:这个问题是关于如何为我的web应用程序找到或选择方便的ORM。 当启动一个新的Web应用程序时,什么是我可以考虑的特定的ORM标准比我的项目或案例(Web应用程序)更好? 我问题的另一部分:当我开始任何web应用程序时,我使用三个层: DB层(包含 连接,并处理积垢 (操作) 管理层(数据访问层) 层)我的 db(与电源松耦合) 上一层)它包含积垢 特定表的操作 以及其他所需的操作 接口层 我使用对象数据源。这被认为是ORM(作为一个概念)还是我理解这个概念是错误的。 注意:我还是这个领域的

问:这个问题是关于如何为我的web应用程序找到或选择方便的ORM。 当启动一个新的Web应用程序时,<强>什么是我可以考虑的特定的ORM标准比我的项目或案例(Web应用程序)更好? 我问题的另一部分:当我开始任何web应用程序时,我使用三个层:

  • DB层(包含 连接,并处理积垢 (操作)
  • 管理层(数据访问层) 层)我的 db(与电源松耦合) 上一层)它包含积垢 特定表的操作 以及其他所需的操作
  • 接口层
  • 我使用对象数据源。这被认为是ORM(作为一个概念)还是我理解这个概念是错误的。

    注意:我还是这个领域的初学者,每天我都在学习更多关于web开发的知识。 请给我解释和建议


    提前感谢。

    正如@MikeAinOz之前提到的,实体框架是一个很好的开端,您可以在其中连接其他数据库。此示例也是了解程序层如何:


    至于ORM,它是关于味道的。最常见的是nhibernate和实体框架。

    最著名的是nhibernate和EF,我个人更喜欢EF,它的速度比nhibernate好(通过linq),对于与EF合作我认为是最有用的

    对于选择哪种ORM(EF和nhibernate之间),你可以看到Ayende Rahien,他对nhibernate很了解,在这篇文章中,他说nhibernate的成熟度更好,但linq2EF比nhibernate更好,我可以给你的简单示例是:
    您有一个2级的主细节,在nhibernate中,您应该使用hql从详细项目中检索具有特定标准的项目,但在EF中,您可以简单地执行此操作,在EF中,我们也可以使用它来解决问题,我希望它在将来更有用。

    我用于中小型项目(尤其是web项目)我对大型项目使用实体框架。这些产品方便灵活,让您可以快速启动。LinqConnect包括允许使用Oracle、MySQL、PostgreSQL和SQLite的提供程序。我使用第三方提供商进行实体框架定制。

    您将找不到具体的选择标准-这是一个品味和偏好的问题,但是你可以找到比较特征

    我正在读一本关于hibernate的书,作者是hibernate的作者,从广义上讲,任何将关系模型映射到对象模型的东西(比如将外键转换为包含的对象)都是ORM

    作者将ORM放在不同的类别中,类似于Nhibernate属于完整ORM的类别,它在运行时为ex.生成SQL

    其他一些工具,如LLBGen,需要通过连接到数据库来创建静态DLL,然后使用这些DLL

    在选择ORM时,您应该查看用户群,如果ORM处于活动状态,例如新版本和快速错误修复,Hibernate后期可能是使用最广泛的版本,在.net中有Fluent Nhibernate,可以在没有xml文件的情况下进行配置,Hibernate为此使用注释类


    我个人建议您使用基于Hibernate的ORM,在ROR中,我想active record是Microsoft world的标准…

    坚持使用ado.net实体框架

    对于开源世界,请坚持使用nhibernate

    关于简单的数据库访问,似乎有很多意见认为哪种是访问数据库的最佳方式

    我目前正在使用在MS Sql和MySql中运行得非常好的。我发现了一篇博客文章,展示了如何使用Nhibernate连接到MYSQL

    对我来说,决定因素是查看您将要使用的数据库,然后从中做出决定。Scott Guthrie宣布了使用实体框架版本4的代码优先框架。虽然我知道EntityFramework4.0可以与Mysql()一起使用,但我不确定是否首先使用代码。可以找到代码优先开发教程

    最终,我认为它们的工作基本相同,尽管如果我开始研究ORMs并想要一些简单的东西,我可能会选择代码优先的方法,因为它看起来非常简单。但我没有这方面的经验。我只是读了一下


    希望这有帮助。

    我经常使用SQL Server,但有时使用mysql或informix。我只使用linq2sql。我知道LIQ2SQL只支持MSSQL。实体框架是一个很好的起点,特别是对于SQL Server,您是否认为S.ARP架构作为您的体系结构的例子?在我的项目中,我通常使用类似的东西。哦,伙计,我希望人们不要建议S#arp体系结构,它是fail.taste,,我认为有一些标准,我想问一下它们以及sql到linq的情况。这些标准最适合您的需要。我是亚音速爱好者,我使用它,虽然有时我不得不为此做一些额外的工作,但我喜欢它。注意,在Ayende的博客文章底部,他说NH3(与它的新linq提供商)将缩小linq性能方面的差距。NH3在几周前就上市了。我已经使用它一段时间了,与NH2相比,我对它的性能非常满意。@Brook,你知道nhibernate3在linq实现了SelectMany吗?我很有兴趣找到一个SelectMany如何可以改变在nhibernate工作。