用于 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 生成器 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章