zoukankan      html  css  js  c++  java
  • EF 一个实体对象不能由多个 IEntityChangeTracker 实例引用 解决办法

    在DAL层中,建立工厂类

    namespace DAL
    {
        public static class SysDbContextFactory
        {
            /// <summary>
            /// 从Http上下文中获取EF容器
            /// </summary>
            /// <returns></returns>
            public static SysDbContext GetSysDbContext()
            {
                var context = HttpContext.Current.Items[nameof(SysDbContext)] as SysDbContext;
                if (context == null)
                {
                    context = new SysDbContext();
                    HttpContext.Current.Items[nameof(SysDbContext)] = context;
                }
    
                return context as SysDbContext;
            }
        }
    }

    然后在DAL 传入 构造函数

    namespace DAL
    {
        public class ProductService: EntitryBaseHelper<Product>, IProductService
        {
            public ProductService() : base(SysDbContextFactory.GetSysDbContext())
            {
    
            }
    
            public ProductService(SysDbContext _sysDbContext) : base(_sysDbContext)
            {
    
            }
        }
    }
  • 相关阅读:
    sys模块详解
    os模块详解2
    tyvj 1203 机器分配
    洛谷 P1496 火烧赤壁
    P1204 [USACO1.2]挤牛奶Milking Cows
    bzoj 2120 数颜色
    P2056 采花
    P1972 [SDOI2009]HH的项链
    9.20模拟赛
    P2709 小B的询问
  • 原文地址:https://www.cnblogs.com/yingger/p/10381653.html
Copyright © 2011-2022 走看看