Fer*_*iro 7 entity-framework-core .net-core jet-ef-provider .net-core-2.2
我正在尝试使用 Entity Framework Core 中的 Scaffold-DbContext 从现有的 MS Access 数据库创建模型。
在包管理器控制台中运行命令时:
Scaffold-DbContext "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Folder\Database.mdb;" EntityFrameworkCore.Jet
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Could not load type 'System.Data.OleDb.OleDbConnection' from assembly 'System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=123123123'.
Run Code Online (Sandbox Code Playgroud)
我正在使用具有以下设置的 ClassLibrary 项目:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="EntityFrameworkCore.Jet" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我正在使用EntityFrameworkCore.Jet提供程序。
x32 和 x64 OleDb Dll 都在机器中:
C:\Program Files\Common Files\microsoft shared\OFFICE14\ACEOLEDB.DLL
C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\ACEOLEDB.DLL
Run Code Online (Sandbox Code Playgroud)
从 Microsoft Access Database Engine 2010 Redistributable 安装的 x64 和从 Office Professional Plus 32 位安装的 x32
脚手架 SQL 数据库工作正常。
已经去了https://github.com/bubibubi/EntityFrameworkCore.Jet/wiki/Limitations
是否缺少某些内容或此设置应该有效?任何帮助,将不胜感激。
Ste*_*edy 10
直到 2019 年 9 月,以下类型才可用于 .NET Core(预览版之外):
它们现在在面向 .NET Core 2.1、.NET Framework 4.6.1、.NETStandard 2.0 和其他框架的System.Data.OleDb Nuget 包中可用。
如果您添加此包,您现在应该能够以 .NET Core 为目标,或者,如果您愿意,也可以同时以 .NET Core 和 .NET Framework 为目标。
另请参阅:导致此软件包开发和发布的GitHub 问题。
您需要以 .Net Framework 为目标。
实际上OleDb并没有移植到.Net Core。 https://github.com/dotnet/corefx/issues/23542
您可以尝试使用.Net Framework 4.6 或 4.7。
| 归档时间: |
|
| 查看次数: |
5744 次 |
| 最近记录: |