为什么我们需要将类库项目继承的程序集的引用添加到使用者项目中?

kis*_*pit 6 .net c# entity-framework

我的解决方案包括两个项目:

  • 一个类库项目(命名为DataAccess),它定义了一个MyContext继承自的类(命名为)DbContext.正如DbContextEntityFramework.dll程序集中定义的那样,我需要将此程序集的引用添加到此类库项目中.我对这个机制没有混淆.
  • 一个控制台应用程序项目(名为Tester),它使用上面DataAccess类库中定义的类.添加对上面类库的程序集的引用是可以理解的.不幸的是,在我EntityFramework.dll向此控制台应用程序添加引用之前,我无法编译解决方案.

为什么我们需要将类库项目继承的程序集的引用添加到使用者项目中?在我的心智模型中,仅将DataAccess项目程序集的引用添加到项目中就足够Tester了,链接引用应该自动完成.

And*_*bel 3

因为实体框架中的很多行为MyContext都是继承自基类的。如果您从 调用这些方法(例如SaveChanges()Tester,则Tester应用程序需要引用定义该方法的类库。

如果您只想访问MyContext类库中定义的方法,我认为您可以不引用基类。