用于创建存储库的脚手架模板

时间:2016-02-05 11:09:22

标签: c# asp.net entity-framework repository-pattern scaffolding

我是Scaffold世界的新来者,负责建立repositories来创建CRUD操作。

有很多脚手架模板,我很困惑,哪一个适合我的要求。

  • 我使用asp.net web forms(不是asp.net MVC)
  • 我使用Entity Framework 6作为ORM。

我想要一些帮助来澄清我们选择一个脚手架模板而不是一个脚手架模板的主要支柱,以及我的案例中哪一个是正确的?

注意:现在我使用T4Scaffolding

2 个答案:

答案 0 :(得分:5)

我认为你可以使用T4Scaffolding,就像你已经做的那样。但是你为什么要使用"脚手架"?我用实体框架创建了我的crud应用程序而没有任何脚手架。

无论如何,脚手架工具都非常相似,所以T4Scaffolding是完美的,恕我直言。

我认为你可以找到有趣的thisthis

如果您有其他问题,请告诉我。

答案 1 :(得分:2)

看起来您正在尝试为每个模型类生成存储库。如果是这样的话,我的建议就是不要。此外,不要被Generic Repositories (anti-pattern)诱惑。

对于脚手架
如果必须使用scaffolding在模型类周围生成存储库,可以使用T4Scaffolding引用this link for scaffolding repositories

注意:的 如果您使用的是Visual Studio 2013/2015,则必须使用T4Scaffolding.VS2015 nuget包而不是旧的T4Scaffolding包(对于旧版本的VS)。

汇总根
首先,存储库是在聚合根上创建的,而不是每个类创建的。 其次,尽管有争议,但EF已经实现了这些模式。

许多人想要阅读有关存储库的更多信息;参考Matrin Fowler的excellent post

为什么还要使用存储库?
此外,还有很多人反对它重要的是有充分理由

请参阅Rob Conery's帖子。虽然,我更倾向于使用以下解决方案而不是帖子中推荐的解决方案。

候补?
顺便说一句,您应该考虑使用命令或任务而不是存储库。像Ayende's post这样的东西。当然,您应该评估您的案例并提出您采用它的理由。这只是一个建议,可能是一个很好的建议;)