mac*_*ack 6 c# ms-access entity-framework-core jet-ef-provider
我正在尝试使用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;" );
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
JetEntityFramework 提供程序与 EF Core 不兼容。
相反,如果您想使用 EF Core(与 JetEntityFramework 是同一作者,非附属机构),请使用EntityFrameworkCore.Jet;如果您想使用 JetEntityFramework,请使用 EF 6。
| 归档时间: |
|
| 查看次数: |
7263 次 |
| 最近记录: |