C# 实体框架核心与MS访问

C# 实体框架核心与MS访问,c#,ms-access,entity-framework-core,jet-ef-provider,C#,Ms Access,Entity Framework Core,Jet Ef Provider,我试图使用WPF MVVM应用程序中的Access数据库,但无法使其正常工作。我已经创建了模型,使用Add Migration创建了迁移,但是当我运行Update Database时,命令永远不会结束。它确实创建了数据库,但唯一的表是MSysAccessStorage。其中有一部分是这样说的 为了使提供程序正常工作,表MSysRelationships应该 可从管理员处访问 进一步说 这是默认配置,因此无需进行更改。通道 由于版本2003具有可见的系统表,因此无需分配 权利。必须通过设置正确的双

我试图使用WPF MVVM应用程序中的Access数据库,但无法使其正常工作。我已经创建了模型,使用Add Migration创建了迁移,但是当我运行Update Database时,命令永远不会结束。它确实创建了数据库,但唯一的表是MSysAccessStorage。其中有一部分是这样说的

为了使提供程序正常工作,表MSysRelationships应该 可从管理员处访问

进一步说

这是默认配置,因此无需进行更改。通道 由于版本2003具有可见的系统表,因此无需分配 权利。必须通过设置正确的双表来完成配置 (在代码的早期)

JetConnection.DUAL=JetConnection.DUALForAccdb

我已经尝试添加了这个,但是我不知道“代码的早期”在哪里。我已经将它添加到App.xaml.cs的顶部和数据库上下文中,但都不起作用。当我添加它时,我得到:

名称“DUAL”在当前上下文中不存在。 当前上下文中不存在名称“JetConnection.DUALForAccdb”

这是我在上下文中的配置

protected override void OnConfiguring( DbContextOptionsBuilder optionsBuilder )
{
    optionsBuilder.UseJet( @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\<User>\Desktop\New Folder\Staff.accdb;" );
}
protectedoverride void onconfiguration(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseJet(@“Provider=Microsoft.ACE.OLEDB.12.0;数据源=C:\Users\\Desktop\New Folder\Staff.accdb;”);
}

我有什么做得不正确?

JetEntityFramework提供程序与EF Core不兼容


相反,如果您想使用EF Core(与JetEntityFramework的作者相同,没有附属关系),请使用EF,如果您想使用JetEntityFramework,请使用EF 6。

为什么不直接安装SQL Server?这个如果您计划开发除快速家庭测试之外的任何东西,那么将缺乏访问权限。你最好从外面学着使用合适的工具