存储库模式体系结构中存储过程方法的文件

File for Stored Procedure methods in Repository pattern achitecture

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

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

有什么好的例子或文章吗?

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

如果是这样的话,你可以看看这篇不错的文章,或许可以帮助你做出决定:

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

编辑:

据我所知,在 Entity Framework 中使用存储过程并不是最佳实践,它只会减少 the purpose 你当初选择 ORM 的原因。

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

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

简而言之:

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

编辑:

其他提示:

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