适用于C#的简单CRUD生成器

时间:2009-03-23 02:06:15

标签: c# database code-generation crud dao

我正在为C#寻找一个简单的CRUD(或DAL)生成器。我不想要任何重量级的东西,因为我在SQL Server 2008数据库中只有几个表。

有什么建议吗?我知道.netTiers,但这对我需要的东西来说太过分了。

谢谢!

更新:我尝试过LINQ to SQL,但它并不适合我的需求。

13 个答案:

答案 0 :(得分:10)

我在过去的项目中使用过SubSonic,它重量轻且易于使用。

他们提供了一个简单的tutorial video,完成设置所需的时间不应超过10分钟。我建议观看处理Web应用程序项目的视频的后半部分,因为它向您展示了如何创建自定义的Visual Studio按钮,只要您单击它就可以为您创建DAL,而不是像他们建议的那样使用自定义构建提供程序视频的前半部分。

它提供了几种访问数据的方法,Active Record,生成类型化的存储过程和视图,或者您可以使用的a query language

使用它之后,我发现了一些怪癖:

  • 如果您使用生成的没有参数的存储过程,它将抛出NullReferenceException。解决方法是创建一个未在过程中使用的虚拟参数
  • DeepSave()函数在当前2.1版本中不起作用,您必须单独保存已连接表格中的数据
  • 使用coditional(例如Where(Tag.Columns.TagName).IsEqualTo("subjective")时,请确保使用字符串值Tag.Columns.TagName来引用该列 - 否则如果您尝试使用Column.Schema则会引发异常

答案 1 :(得分:7)

Visual Studio附带了一个代码生成器,几乎没有人知道调用T4

您应该能够相对轻松地使用它来创建CRUD模板。

修改

以下是一个示例:http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/

答案 2 :(得分:3)

答案 3 :(得分:3)

尝试http://pureobjects.com/ 它不需要任何其他工作

答案 4 :(得分:2)

如何使用使用DataSet设计器创建的DataSet。我记得在旧日(.NET 1.0和1.1)中,我们将DataAdapter拖到设计图面上,指定Select查询,并根据Select查询为我们创建Insert,Update和Delete查询。

答案 5 :(得分:2)

为了防止金钱不是一个大问题,我在CodeSmith中使用模板取得了很大的成功。

有很多样本模板用于CRUD操作,它可以直接从您的数据库中读取。

答案 6 :(得分:2)

看看Codesmith2.6 version是免费的,后续版本可供购买。

答案 7 :(得分:1)

LINQ To SQL很简单,它内置于.NET 3.5 SP1中。

答案 8 :(得分:1)

Visual Studio向导将为您创建一个简单的CRUD应用程序。

在表单上拖动数据网格,单击连接属性并从那里跟随向导。

不是最佳做法,但很简单且有效......

答案 9 :(得分:1)

您是否尝试过动态数据Web应用程序(使用LINQ to SQL)或动态数据实体Web应用程序(使用实体框架)。

MSDN: Walkthrough: Creating a New ASP.NET Dynamic Data Web Site Using Scaffolding

答案 10 :(得分:1)

我使用ssms tools pack

答案 11 :(得分:1)

我使用的是SubSonic 3 ActiveRecord,但之后转移到了BLToolkit。由于缺乏良好的文档,BLToolkit很难开始使用,但是一旦你习惯了它,它就像SubSonic ......除了没有性能问题。

SubSonic非常简单,但是对于任何实用的东西来说,性能都是难以忍受的。无论何时完成连接或子查询,它都会拉下整个表。

答案 12 :(得分:0)

查看LLBLGen Pro,我发誓。它不是免费的,但并不昂贵。您可以在一小时内启动并运行(编写代码),它附带的模板生成的代码基本上可以完成您想要的任何操作。即使不再考虑数据库接口代码也是如此美妙(并且富有成效)。