我正在按照 Internet 上的示例在其编写的存储库中实现存储库模式:
private Northwind db = null;
private DbSet<T> table = null;
public Repository()
{
this.db = new Northwind();
table = db.Set<T>();
}
public Repository(Northwind db)
{
this.db = db;
table = db.Set<T>();
}
为什么有两个构造函数?有什么区别?当我实例化它时,我有两个选择,但我不知道它到底做了什么
最佳答案
第一个构造函数实现了一个默认构造函数,它只是生成一个新的 Northwind 对象。
第二个构造函数将 Northwind 对象作为参数,并允许您将先前创建的 Northwind 对象传递给 Repository 构造函数。
如果你要这样做......
Northwind db = new Northwind();
Repository repo = new Repository(db);
这与调用...相同
Repository repo = new Repository();
当您已经创建并填充了第二个构造函数,或者对您创建的 Northwind 对象做了一些事情时,您通常会使用第二个构造函数(如果不知道 Northwind 的实现则很难知道。)
关于c# - 对存储库模式构造函数的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51444634/