在ASP.NET MVC中,放置我的Entity-Framework DataContext类的"最佳实践"位置(文件夹)在哪里?

Dan*_*eny 12 asp.net-mvc entity-framework directory-structure

我在"Models"文件夹中看到了一些带有Entity Framework DataContext类的项目,但由于它不是真正的模型,所以感觉不对.

目前我的DataContext(以及IDatabaseInitializer类)存在于我的项目的根目录中,但这也让我感到困惑.

是否有一个共同/最佳实践,或者我应该将它们留在根目录或名为Data的文件夹中?

RPM*_*984 9

可以说它模型,因为它维护着你的应用程序的状态.这就是人们把它放在那里的原因.

如果你是一个好孩子并使用抽象/存储库层 - 它应该去那里.

如果你的控制器直接与EF上下文(坏主意)交谈,那么把它放在模型文件夹中 - 不需要在物理上隐藏你在逻辑上不抽象的东西.


Zip*_*pyV 5

没关系.我将它放在Models文件夹中,因为这是所有数据库内容的所在.