棱镜和实体框架

Dar*_*Zon 5 c# sql-server entity-framework prism mvvm

我在几个例子中看到,每个模块都包含一个名为Model的文件夹,所有这些文件都是独立的.我的意思是模块A与模块B没有相同的模型类.

我已经实现了我的数据库,并使用了Entity框架,但我的所有模块都需要使用几个类.

是否可以创建一个名为data(其中包含实体)的dll 并导入到每个模块?

cho*_*dze 7

我觉得绝对可以.所以,你可以有模块:

  • YourApplication (只是Shell bootstrapper)
  • YourApplication.Infrastructue (所有共享接口,枚举等)
  • YourApplication.Data(或YourApplication.DAL) - 与实体框架的实体项目
  • YourApplication.ModuleA(参考*.Infrastructure*.Data)
  • YourApplication.ModuleB(参考*.Infrastructure*.Data)

棱镜建议不ModuleA应该知道ModuleB,而不是他们不应该使用相同的共享项目(棱镜指南包含YourApplication.Infrastructure自己,我是对的吗:))

但总的来说 - 很可能,您需要在模块中添加模型(即使您有实体框架层),因为商业模型和数据库模型通常不一样.但是,如果你只使用数据库模型 - 它会很棒.