存储库模式中的NullReferenceException

时间:2014-04-21 17:42:57

标签: c# asp.net-mvc repository-pattern

我正在使用Repository模式,在我的Repository.cs中,我的_dataContext对象返回null。我该怎么做才能返回null?

  private BlogDataContext _dataContext;
        private readonly IDbSet<T> _dbset;
        private string[] _paths;

        public Repository(IDatabaseFactory databaseFactory)
        {

                DataContext.Database.Log = Console.Write;
                DatabaseFactory = databaseFactory;
                _dbset = DataContext.Set<T>();
        }

        protected IDatabaseFactory DatabaseFactory
        {
            get;
            private set;
        }

        protected BlogDataContext DataContext
        {
            get { return _dataContext ?? (_dataContext = DatabaseFactory.Get()); }
        }

1 个答案:

答案 0 :(得分:0)

主要问题是您的DatabaseFactory属性有私有的setter,因此您无法直接为其分配任何内容。那么你要做的是创建一个私有的IDatabaseFactory字段,将构造函数参数 databaseFactory 分配给该字段并将其返回到DatabaseFactory属性的getter中,或者创建{ {1}}属性设置器方法public。