1

我正在编写一个 MVC 5 互联网应用程序,现在我开始为我的每个控制器编写一个通用存储库类。

我的问题是:我是否应该为班级中的每个不同编写不同的存储DbSetDbContext

例如,我的课堂上有以下DbSets内容DbContext

public DbSet<File> files { get; set; }

public DbSet<Asset> assets { get; set; }

我应该有两个不同的存储库类,一个用于File,一个用于Asset DbSet?或者可以/应该将它们编码到一个存储库类中吗?

4

1 回答 1

1

诚实地,

除非您有充分的理由,否则我不会费心在存储库后面抽象实体框架。你会创造更多的工作,让你在未来变得更难,我相信 EF 已经是对持久性逻辑的一个足够好的抽象。

话虽如此,如果您确实想在存储库后面进行抽象,我将为每个 DbSet 创建 1 个单独的类。这样,DbSet 可以只是存储库上的私有属性,您可以直接在那里委派调用。

如果您决定将它们组合成一个类,则您的每个方法都必须检查要委托给哪个 DbSet。

于 2014-12-24T05:29:55.987 回答