我正在尝试将N层架构转换为新的N层架构,该架构能够跨多个层维护DbContext。目前我的应用程序具有以下高级架构(我无法添加图像,所以请原谅我的图表):
View <--> Controller <--> Model <--> Repository <--> Database
控制器,模型和存储库都使用我编写的事务类,它将DbContext从控制器和模型中抽象出来,但允许在多个模型之间共享一个DbContext。在代码中,这可能如下所示:
using(ITransaction transaction = new Transaction())
{
var parent = new Parent();
var child = new Child();
parent.Children.Add(child);
parent.Insert(transaction);
parent.Save();
}
Insert函数从控制器一直到存储库(唯一真正知道如何插入的东西),然后Save函数返回到存储库并提交更改。
我想要的架构如下:
View <--> Controller <--> Model <--> WFC Service <--> Repository <--> Database
当我在模型和存储库之间添加WFC服务时,我不断收到System.ServiceModel.CommunicationException错误。
任何帮助将不胜感激!