在N-Tier应用程序中维护DbContext

时间:2017-10-17 16:45:44

标签: c# entity-framework wcf

我正在尝试将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错误。

任何帮助将不胜感激!

0 个答案:

没有答案