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

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

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

谢谢!

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

【问题讨论】:

    标签: c# database code-generation crud dao


    【解决方案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】:

    【讨论】:

    • 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】:

      看看Codesmith2.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】:

          【讨论】:

            【解决方案12】:

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

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

            【讨论】:

              【解决方案13】:

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

              【讨论】:

                猜你喜欢
                • 2011-11-27
                • 2018-03-28
                • 2011-04-13
                • 2012-08-29
                • 2010-10-14
                • 2011-03-15
                • 2011-03-01
                • 2017-03-29
                • 2011-07-10
                相关资源
                最近更新 更多