Entity framework 如何在代码中定义实体框架提供程序?
我使用的是Entity framework 如何在代码中定义实体框架提供程序?,entity-framework,ms-access,jet-ef-provider,Entity Framework,Ms Access,Jet Ef Provider,我使用的是jetentyframeworkprovider。我正在尝试连接到MS Access文件(它有ext.sep,但它确实是一个Access文件) 我试图在代码中定义连接字符串和提供程序,但它不起作用。在运行之前,我遇到以下错误: 无法确定类型为“JetEntityFrameworkProvider.JetProviderFactory”的提供程序工厂的提供程序名称。确保已在应用程序配置中安装或注册ADO.NET提供程序 我不希望在配置中配置提供程序。当然有办法做到这一点 当我运行它时(是
jetentyframeworkprovider
。我正在尝试连接到MS Access文件(它有ext.sep
,但它确实是一个Access文件)
我试图在代码中定义连接字符串和提供程序,但它不起作用。在运行之前,我遇到以下错误:
无法确定类型为“JetEntityFrameworkProvider.JetProviderFactory”的提供程序工厂的提供程序名称。确保已在应用程序配置中安装或注册ADO.NET提供程序
我不希望在配置中配置提供程序。当然有办法做到这一点
当我运行它时(是的,它将生成),我得到以下错误:
System.InvalidOperationException:“未在本地计算机上注册“Jet OLEDB:数据库”提供程序。”
上下文类
public class ProjectContext : DbContext
{
private DbConnection con = new JetConnection();
public ProjectContext() : base(new JetConnection(""Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\\Test-Project.sep'; Provider=Jet OLEDB:Database; Password=SEEME;""), true)
{
}
public DbSet<Component> Components { get; set; }
}
我通过将连接字符串更改为此来解决此问题
public ProjectContext() : base(new JetConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Test-Project.sep'; providerName=JetEntityFrameworkProvider; Password=SEEME;"), true)
{
}
但是,我有一个新问题和一个新错误,所以我将发布一个新问题
public ProjectContext() : base(new JetConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Test-Project.sep'; providerName=JetEntityFrameworkProvider; Password=SEEME;"), true)
{
}