存储库模式架构中的存储过程方法文件

时间:2018-02-26 06:10:30

标签: c# entity-framework stored-procedures repository-pattern

我正在使用EF6,但在我的项目中会调用太多的SP。

我已经将这些方法放在MyDbContext.cs中,但由于SP方法太多,我不想拥挤MyDbContext.cs。我想将方法​​放在另一个文件中。还有其他选择吗?

任何好的例子或文章?

1 个答案:

答案 0 :(得分:1)

您似乎在选择使用存储过程或ORM(在本例中为EF6)。

在这种情况下,您可以阅读这篇可以帮助您做出决定的好文章:

Entity Framework VS LINQ to SQL VS ADO.NET with stored procedures?

编辑:

据我所知,在实体框架中使用存储过程不是最佳实践,它只会减少the purpose为什么你首先选择ORM。

但是,如果你坚持,你可能会发现这篇文章非常全面地涵盖了你所谈论的主题:

http://www.entityframeworktutorial.net/entityframework6/dbcontext.aspx

简而言之:

  1. 是的,将所有SP调用放入DbContext
  2. 如果可能,请在使用EF时避免使用SqlDataReader,否则最终会再次使用ADO.NET搞乱它。
  3. 编辑:

    其他提示:

    我刚刚意识到你必须处理这么多的SP,这些SP可能会使你的DbContext类太拥挤而无法管理。在这种情况下,只需使用 PARTIAL CLASS 将许多SP组织到单独的文件中,这样您就可以更轻松地管理它们。