帮助选择ASP.NET的代码生成工具

时间:2010-05-20 02:14:03

标签: asp.net orm code-generation devforce

我是代码生成工具的新手,我想知道像LLBGen Pro这样的工具如何与实体框架进行比较? 最重要的是,我的嘘声正在寻找一个名为CodeOnTime http://codeontime.com/default.aspx的工具,因为他喜欢他们良好的UI支持。

我在这里问,因为我真的想要一个公正的意见。

我不确定LLBGen是否也可以生成UI。到目前为止,我们所有的开发工作都是手动编码每一层的经典方式。但是,我们需要快速原型制作工具。

任何有助于我明智选择的建议都将非常感激

提前感谢。

3 个答案:

答案 0 :(得分:2)

你看过CodeSmith Generator了吗?它是一个基于模板的生成工具,具有Visual Studio集成,因此根据定义,所有模板都是开源的,并且它具有高级功能,例如生成生成,使您的项目始终与您的数据源保持同步。

此外,CodeSmith团队即将开始研发一套官方EF模板,但目前他们提供了几种不同的ORM选项,包括LINQ to SQL,NHibernate,.netTiers,CLSA等。

答案 1 :(得分:1)

我已经使用了LLBLGen和Entity Framework。根据我的经验,它们的能力大致相同,特别是现在已经发布了Entity Framework 4。 NHibernate也在这个领域,如果你想比较.NET的顶级ORM工具,应该考虑它。

我建议下载LLBLGenPro演示来评估它。根据{{​​3}},LLBLGenPro提供了VS.NET 2010中内置的开箱即用实体框架工具中没有的增强功能。

EF和LLBLGen等ORM工具不会生成UI。为此你需要像IronSpeed(不推荐,我不喜欢生成的代码)或IdeaBlade DevForce产品,我没有使用过。

答案 2 :(得分:1)

问题在于存在代码生成器和对象关系映射器(ORM)以及用于对象关系映射的代码生成器。

像NHibernate这样的东西是纯粹的(ORM)并且不生成任何代码,它只是为你提供了一个对象持久层。

Llblgen是一个代码生成器,它生成执行ORM功能的代码,但您实际上可以看到代码并可以使用自定义行为覆盖它。 Llblgen不会为您生成UI,也不会为您设计。它主要关注数据访问。

然后你有像CodeSmith这样的工具或Visual Studio附带的内置T4生成器,你可以使用它来创建模板,然后只要你自己编写模板就可以生成你想要的任何东西。我曾为那些已经投入数千美元编写自己模板的公司工作过。

最后有完整的工具,如CodeOnTime或IronSpeed,可以为您生成整个应用程序。这在理论上听起来不错,对于小型CRUD类型的应用程序来说非常好,但是你会失去很多这样的工具的灵活性,因为它们通常具有你需要解决的约定,一旦你开始进行大量定制,往往会得到以你的方式。

你应该问问自己:

  1. 我是否只需要一些东西来访问我的数据?如果是这样,你可以使用ORM
  2. 我是否需要生成高度自定义的UI?如果是这样,你可能最好避开像CodeOnTime和IronSpeed这样的工具