存储库模式中出现NullReferenceException
本文关键字:NullReferenceException 模式 存储 | 更新日期: 2023-09-27 17:59:17
我使用的是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()); }
}
主要问题是您的DatabaseFactory
属性有一个私有的setter,因此您无法直接为其分配任何内容。因此,您要做的是创建一个私有IDatabaseFactory
字段,将构造函数参数databaseFactory分配给该字段,并将其返回到DatabaseFactory
属性的getter中,或者将DatabaseFactory
属性setter方法公开。