您目前使用什么数据访问?

时间:2008-09-05 02:51:32

标签: .net data-binding data-structures data-access devforce

您使用什么特定方法/应用程序在应用程序和数据库之间进行通信?自定义代码与存储过程?亚音速? NHibernate的?实体框架? LINQ?

14 个答案:

答案 0 :(得分:2)

我主要使用Microsoft Enterprise Library Data Access Block来访问MS SQL Server数据库中的存储过程。

答案 1 :(得分:2)

过去一年左右我一直在使用NHibernate,事实证明它是一种非常快速的免费获得基本CRUD的方式。

如果这是您想要进入的内容,我可以推荐Billy McCafferty关于CodeProject的NHibernate最佳实践文章:

http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx

事实证明,这是一个很好的可扩展和灵活的解决方案,可以轻松实现DAL与其他层的清晰分离。

答案 2 :(得分:1)

我们在项目中使用IdeaBlade。我发现它很容易使用。

答案 3 :(得分:1)

我在之前的工作中使用Hibernate连接到MySql和Sql Server,但我已经切换到.NET,所以目前我使用LINQ,我真的很喜欢它。

答案 4 :(得分:0)

在工作中,我们的代码库是C ++和Perl,我们与MySQL数据库交谈。对于我们的接口,我们有一些相当薄的自定义类,包含用于C ++代码的基本MySQL客户端库和用于Perl脚本的DBI模块。

答案 5 :(得分:0)

SubSonic和LINQ to SQL,希望有一天能很快LINQ到SubSonic!

答案 6 :(得分:0)

我主要在工作和我的空闲时间项目中使用NHibernate。这开始是为了突破工作中使用ADO.NET数据加载器/数据集的规范,我们现在有一些使用Hibernate / NHibernate的项目。

答案 7 :(得分:0)

旧版MS Enterprise App Blocks中的SqlHelper类。它远非完美,但很难超越简单的CRUD应用程序的简单性。

答案 8 :(得分:0)

MS SQL存储过程。

答案 9 :(得分:0)

我通常用LiNQ创建一个DataTier 它由实现复合接口的存储库组成,因此我对如何使用它们有完全的灵活性。

IPersonRepository : IReadRepository<Person>, ICreateRepository<Person>, IUpdateRepository<Person> //and so on..

它们主要是以域对象为中心的,因此它们会发出域对象并自行处理所有映射逻辑 他们也可能会创建一些列表词典,f.ex包含一个人的id和名字的字典,所以我不必从数据库中拉出太多来显示下拉列表。
虽然有时候,对于较小的项目,我只使用没有.dbml的属性基本映射。

我觉得这种方法提供了一个非常干净的应用程序模型,因为所有凌乱的数据中心逻辑都隐藏在DataTier中。 Business- / ServiceTier是纯粹的业务:)

答案 10 :(得分:0)

  • SQL Server
  • 所有存储过程
  • 我从项目到项目重用的Handrolled多态实体框架,用于处理Sproc Resultset - &gt;对象映射。

我想这让我老了。

答案 11 :(得分:0)

MVC框架,其中model具有实际数据库语言的数据源类,开发人员在大多数情况下使用save,saveField,delete,find等方法,并且框架将此转换为sql查询。这不仅更安全,更方便,代码是独立的数据源也非常方便,即您可以更改数据库服务器并保留代码。

答案 12 :(得分:0)

我已经在我的工作场所开始使用Hibernate on Java项目,然后意识到存在.Net端口(NHibernate)并在.Net项目中再次使用它。我还看到了 joesteele 提及的文章,并在需要时使用它作为我的项目的基础,并进行了一些小修改,主要是在需要手动开始和结束交易时。

可以应用于Java和C#平台的相同实践和库,以Windows或Linux作为应用程序平台,使得在不同平台上的开发比需要学习不同框架更容易。

虽然我打算淘汰Subsonic,iBatis和LINQ,但现在Hibernate和NHibernate似乎是适合这项工作的工具,而我必须同时针对Windows和Linux平台。

答案 13 :(得分:0)

我们有一个oracle后端有500个存储过程,其中应用程序直接针对数据运行。

我开始构建一个我一直在整合的自定义或映射域模型,但我最初做错了,现在我也很难处理这个问题......呃