繁体   English   中英

实体框架核心和 MS Access

[英]Entity Framework Core and MS Access

我正在尝试使用JetEntityFrameworkProvider从 WPF MVVM 应用程序使用 Access 数据库,但我无法让它工作。 我已经创建了模型,使用 Add-Migration 创建了迁移,但是当我运行 Update-Database 时,该命令永远不会完成。 它确实创建了数据库,但唯一的表是 MSysAccessStorage。 有一部分文档

为了使提供者工作,表 MSysRelationships 应该可以从管理员访问

并进一步说

这是默认配置,因此无需进行更改。 自 2003 版以来的访问具有可见的系统表,因此无需分配权限。 必须完成配置,设置正确的双表(在代码的早期)。

JetConnection.DUAL = JetConnection.DUALForAccdb;

我试过添加这个,但我无法弄清楚“在你的代码中很早”在哪里。 我已将它添加到我的 App.xaml.cs 的顶部和我的数据库上下文中,但都不起作用。 当我添加它时,我得到:

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

这是我在上下文中的 OnConfiguring

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

我做错了什么?

JetEntityFramework 提供程序与 EF Core 不兼容。

相反,如果您想使用 EF Core(与 JetEntityFramework 相同的作者,不附属),请使用EntityFrameworkCore.Jet,如果您想使用 JetEntityFramework,请使用 EF 6。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM