【发布时间】:2010-10-14 21:28:30
【问题描述】:
我正在为 C# 寻找一个简单的 CRUD(或 DAL)生成器。我不想要任何重量级的东西,因为我在 SQL Server 2008 数据库中只有几个表。
有什么建议吗?我知道 .netTiers,但它对我的需要来说太多了。
谢谢!
更新:我尝试了 LINQ to SQL,但它不能很好地满足我的需求。
【问题讨论】:
标签: c# database code-generation crud dao
我正在为 C# 寻找一个简单的 CRUD(或 DAL)生成器。我不想要任何重量级的东西,因为我在 SQL Server 2008 数据库中只有几个表。
有什么建议吗?我知道 .netTiers,但它对我的需要来说太多了。
谢谢!
更新:我尝试了 LINQ to SQL,但它不能很好地满足我的需求。
【问题讨论】:
标签: c# database code-generation crud dao
我在过去的项目中使用过 SubSonic,它轻巧且易于使用。
他们提供了一个简单的tutorial video,完全设置它应该不超过 10 分钟。我建议观看处理 Web 应用程序项目的视频的后半部分,因为它向您展示了如何创建一个自定义的 Visual Studio 按钮,该按钮在您单击它时为您创建 DAL,而不是像他们建议的那样使用自定义构建提供程序视频的前半部分。
它提供了几种访问数据的方法,Active Record,生成类型化的存储过程和视图,或者您可以使用的a query language。
使用后发现了一些怪癖:
NullReferenceException。一种解决方法是创建一个未在过程中使用的虚拟参数DeepSave() 函数在当前 2.1 版本中不起作用,您必须单独保存连接表中的数据Where(Tag.Columns.TagName).IsEqualTo("subjective"),请确保使用字符串值Tag.Columns.TagName 来引用该列 - 否则如果您尝试使用Column.Schema 将引发异常
【讨论】:
Visual Studio 带有一个几乎没人知道的代码生成器,名为T4。
您应该能够相对轻松地使用它来创建 CRUD 模板。
编辑
下面是一个例子:http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/
【讨论】:
【讨论】:
试试http://pureobjects.com/ 它不需要任何其他工作
【讨论】:
如何使用使用 DataSet 设计器创建的 DataSet。我记得在过去(.NET 1.0 和 1.1),我们会将 DataAdapter 拖到设计图面上,指定 Select 查询,然后根据 Select 查询为我们创建 Insert、Update 和 Delete 查询。
【讨论】:
以防钱不是大问题,我在CodeSmith 中使用模板取得了巨大成功。
有大量用于 CRUD 操作的示例模板,它们会直接从您的数据库中读取。
【讨论】:
看看Codesmith。 2.6 version 是免费的,更高版本可供购买。
【讨论】:
LINQ To SQL 很简单,它内置在 .NET 3.5 SP1 中。
【讨论】:
Visual Studio 向导将为您创建一个简单的 CRUD 应用。
在表单上拖动一个数据网格,单击连接属性并从那里按照向导进行操作。
不是最佳实践,但简单且有效...
【讨论】:
您是否尝试过动态数据 Web 应用程序(使用 LINQ to SQL)或动态数据实体 Web 应用程序(使用实体框架)。
MSDN: Walkthrough: Creating a New ASP.NET Dynamic Data Web Site Using Scaffolding
【讨论】:
【讨论】:
我使用的是 SubSonic 3 ActiveRecord,但后来转移到了 BLToolkit。由于缺乏良好的文档,BLToolkit 很难上手,但一旦你习惯了它,它就非常像 SubSonic……除了没有性能问题。
SubSonic 很棒而且很简单,但性能对于任何实用的东西来说都难以忍受。每当连接或子查询完成时,它都会拉下整个表。
【讨论】:
看看 LLBLGen Pro,我发誓。它不是免费的,但也不贵。您可以在一小时内启动并运行(编写代码),它附带的模板生成的代码基本上可以做任何您想做的事情。甚至不必再考虑数据库接口代码,真是太好了(而且富有成效)。
【讨论】: