EF Code First 方法中 DbContext Class 的空构造函数的目的是什么?

What is the purpose of empty constructor of DbContext Class in EF Code First Approach?

我有简单的上下文 class 定义:

namespace PowerSupply.Persistance.Facade
{
    class PowerSupplyDBContext : DbContext
    {
        public PowerSupplyDBContext() : base("PowerSupplyDatabase")
        {

        }
    }
} 

体内什么都没有
public PowerSupplyDBContext() : base("PowerSupplyDatabase")
            {

这个空构造函数的目的是什么。这个空的构造函数是如何工作的?

它调用基class的构造函数。所以它不是空的。它只是没有添加新内容。

您可以使用 "empty" 构造函数的原因有很多。

您可能没有任何新属性,或者您在其他地方实例化了这些属性(我不推荐)

您可能只想添加功能(新方法),因此您扩展 class,并使用基础 class 的属性和方法实现新方法。所以你不需要构造函数来做一些新的事情,而不是基础 class.

或者它有很多构造函数,在需要使用 class 的有限功能或默认值的情况下使用空构造函数。

最好在任何 class 可能被第三方/其他项目/编译器无法捕获 class 中的更改的任何地方使用空构造函数。

如果您省略空构造函数,并且 class 被第三方使用或在您的另一个 projects/applications 中使用,那么您以后无法更改 class包含带参数的构造函数。否则,以前不依赖传递构造函数参数的 this class 的所有使用都将中断,因为它们将没有空构造函数可供引用。