用于 C# 的简单 CRUD 生成器 [关闭]

Posted

技术标签:

【中文标题】用于 C# 的简单 CRUD 生成器 [关闭]【英文标题】:Simple CRUD Generator for C# [closed] 【发布时间】:2010-10-14 21:28:30 【问题描述】:

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

有什么建议吗?我知道 .netTiers,但它对我的需要来说太多了。

谢谢!

更新:我尝试了 LINQ to SQL,但它不能很好地满足我的需求。

【问题讨论】:

【参考方案1】:

我在过去的项目中使用过 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 将引发异常

【讨论】:

Subsonic 可能是迄今为止我发现的最轻的 DAL 制造商。其他一切都变得过于臃肿。试试 2.1 版,它现在有一个安装程序。 您的链接已失效;您必须更新它们以指向新站点 subsonic.github.io 我猜,尽可能。 SubSonic 项目在过去 2 年内似乎没有更新。【参考方案2】:

Visual Studio 带有一个几乎没人知道的代码生成器,名为T4。

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

编辑

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

【讨论】:

t4 非常适合生成遗留输入文件。 哦,太难过了 =( 404 - 找不到文件【参考方案3】:

MyGeneration有一些不错的CRUD SP generation templates

【讨论】:

at 2016.01.11 -> MyGeneration 链接似乎已过期,现在显示“占位符”页面。【参考方案4】:

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

【讨论】:

我多次使用纯对象。它很好地为您提供从 DAL 到对象的所有内容。插入、更新、删除语句将所有内容分类。只需输入您的餐桌信息即可完成所有工作! 纯对象链接似乎无效。它会将您带到其他一些非编程网页。 @JohnM 现在正在使用 DAL crud 页面【参考方案5】:

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

【讨论】:

【参考方案6】:

以防钱不是大问题,我在CodeSmith 中使用模板取得了巨大成功。

有大量用于 CRUD 操作的示例模板,它们会直接从您的数据库中读取。

【讨论】:

我同意,我使用 code smith 来做轻量级的东西,如果你想集成到一个非常方便的现有项目中,编写自己的模板也很容易。【参考方案7】:

看看Codesmith。 2.6 version 是免费的,更高版本可供购买。

【讨论】:

【参考方案8】:

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

【讨论】:

这几天我一直在尝试使用它,但它是一场噩梦。特别是我有 M:M 关系...【参考方案9】:

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

在表单上拖动一个数据网格,单击连接属性并从那里按照向导进行操作。

不是最佳实践,但简单且有效...

【讨论】:

很遗憾,Gridviews 没有添加功能。【参考方案10】:

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

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

【讨论】:

【参考方案11】:

我用ssms tools pack

【讨论】:

【参考方案12】:

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

SubSonic 很棒而且很简单,但性能对于任何实用的东西来说都难以忍受。每当连接或子查询完成时,它都会拉下整个表。

【讨论】:

【参考方案13】:

看看 LLBLGen Pro,我发誓。它不是免费的,但也不贵。您可以在一小时内启动并运行(编写代码),它附带的模板生成的代码基本上可以做任何您想做的事情。甚至不必再考虑数据库接口代码,真是太好了(而且富有成效)。

【讨论】:

以上是关于用于 C# 的简单 CRUD 生成器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为 C# 生成的 XML 文档的 XSD? [关闭]

简单的类似 java 脚手架的 CRUD 生成器

Java的DAO生成器[关闭]

从现有数据库生成 Angular 5 和 Spring mvc CRUD 应用程序 [关闭]

自动生成用于数据库 crud 操作的 html 表单

用于将 XML 数据转换为 html 文件的 C# 与 XSLT [关闭]