gpt4 book ai didi

c# - 对存储库模式构造函数的困惑

转载 作者:太空宇宙 更新时间:2023-11-03 12:12:25 24 4
gpt4 key购买 nike

我正在按照 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com