在 Visual Studio 扩展中添加 Entity Framework 配置

Adding Entity Framework configuration in Visual Studio extension

这是我的解决方案架构:

我已将 VM 项目 app.config 中的 EF 提供程序相关内容复制到桌面应用程序和 VSIX 项目中。桌面应用程序运行良好,而 VSIX 项目抛出以下异常:

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SQLite.EF6'. Make sure the provider is registered in the 'entityFramework' section of the application config file.

如果是扩展项目,我需要做什么特别的事情吗?

在下面添加最后一行 class 为我修复了它:

public class SQLiteConfiguration : DbConfiguration
{
  public SQLiteConfiguration()
  {
    SetProviderFactory("System.Data.SQLite", SQLiteFactory.Instance);
    SetProviderFactory("System.Data.SQLite.EF6", SQLiteProviderFactory.Instance);
    SetProviderServices("System.Data.SQLite", (DbProviderServices)SQLiteProviderFactory.Instance.GetService(typeof(DbProviderServices)));
    SetProviderServices("System.Data.SQLite.EF6", (DbProviderServices)SQLiteProviderFactory.Instance.GetService(typeof(DbProviderServices)));
  }
}

不确定为什么只在 VSIX 项目中抛出此异常,而不在桌面应用程序中抛出。

可能会帮助别人。