【问题标题】:S#arp Architecture and CRUD ScaffoldingS#arp 架构和 CRUD 脚手架
【发布时间】:2010-10-01 23:15:39
【问题描述】:

我很确定我在这里有点困惑(我什至对困惑感到困惑)。

我已经在 SQL Server 2008 中创建了我的数据库。

我现在是第一次尝试 S#arp 架构,并且正在研究使用 CRUD 脚手架。从说明看来,我基本上必须在 ScaffoldingGeneratorCommand.tt 文件中重新创建整个数据库?对我来说有点毫无意义,对吧?

我想在这里倒退吗?我想做的是从我现有的数据库转到 CRUD 类。

【问题讨论】:

    标签: c# asp.net asp.net-mvc-2 crud s#arp-architecture


    【解决方案1】:

    如果您所做的只是创建了数据库,您可能需要考虑废弃该数据库并首先创建类,如 Alec 的选项 1 中所示。然后你就可以让NHibernate为你生成数据库了。

    但为了回答您的问题,我总是从头开始创建模型/视图/控制器,因为我从来没有真正喜欢生成代码的输出。我相信 SharpArch 甚至计划取消 T4 模板,转而支持 Templify [source],因为它存在问题。

    【讨论】:

    • 嗯,是的,我也不喜欢生成的代码。我开始认为 MVC 是为那些喜欢把他们学到的东西扔掉的疯狂的人准备的。严重地。在 MVC 出现之前,Masterpages 非常棒……现在我需要 70 kbillion 额外的文件来更改页面的标题。啊。
    • 不要将遗留 WebForms 引擎的限制归咎于 MVC。例如,Spark 视图引擎消除了“使用 MVC”设置标题和许多其他“问题”。
    • 是的,我不会说它会抛弃你所知道的一切。这更像是重新学习你应该知道的一切。
    • 你正在经历其他人已经经历过的相同阶段。对于我们中的一些人来说幸运的是,我们从 HTML / JS 开始,所以回到它并没有像其他人那样大的变化。如果你坚持下去,你就会开始得到它并喜欢它。只是庆幸你现在就开始了,而不是 12 月 7 日,那时它完全是“自己弄清楚”。
    • 我同意亚历克的观点。如果您熟悉 HTML 和 JS,那么您已经完成了一半。虽然您无法将 DropDownList 拖放到页面上,但您确实可以更好地控制选择列表的使用方式,尤其是在您需要在其上执行 javascript 时。不再需要知道 ASP.Net 呈现的 ClientId 是什么! ctl$0_MyDropdown
    【解决方案2】:

    如果您正在进行棕地开发(您现在就是这样),那么您可以采用以下两种方式之一:

    1. 手动创建实体/控制器/视图
    2. 使用脚手架生成器为您创建上述内容

    根据您现有数据库的复杂程度,您可以选择其中一个。如果您现有数据库的架构很复杂,字段名称不是您想要的实体名称,您可能希望使用选项 1 以及使用 ClassMaps 而不是来自 Fluent NHibernate 的自动映射。

    此外,根据您有多少表以及它们有多大(字段数),使用脚手架生成器可能仍然不是一个糟糕的选择。为了给你一个想法,我曾经在相当大的医学数据库中多次使用棕地。它比我手动重新创建这些要快得多。

    最后,您确实需要决定哪种方式对您来说更快,以及哪种方式更相关。我们有一个非常强大的 S# 社区,因此获得一些支持不是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 2012-06-30
      相关资源
      最近更新 更多