问题描述
我想将我的主页连接到Access-DB。为此,我使用:
- .NET Framework 4.72 API
- EntityFrameworkProvider.Jet
当我尝试运行它时,我收到以下消息
System.ArgumentException:具有不变名称'JetEntityFrameworkProvider'的ADO.NET提供程序未在计算机或应用程序配置文件中注册,或者无法加载。 Zeile 24:var结果=来自上下文中的Daten_ALT Zeile 25:选择Daten_ALT;
我的homecontroller.cs中的这段代码看起来像这样:
using Sammler_Homepage.Models;
using System.Linq;
using System.Web.Mvc;
namespace Sammler_Homepage.Controllers
{
public class HomeController : Controller
{
public ActionResult SammlungView()
{
Sammlung Sammlungsql = new Sammlung();
ContextDB context = new ContextDB();
var result = from Daten_ALT in context.Sammlung
select Daten_ALT;
foreach (Sammlung sammlung in result)
{
Sammlungsql.Nummer = sammlung.Nummer;
}
ViewBag.Message = Sammlungsql;
ViewBag.Title = "SammlungView";
return View();
}
}
}
我的ContextDB.cs:
using System.Data.Entity;
using Microsoft.Ajax.Utilities;
using Microsoft.EntityFrameworkCore;
namespace Sammler_Homepage.Models
{
public class ContextDB : DbContext
{
public ContextDB() : base("DefaultConnection")
{
}
public DbSet<Sammlung> Sammlung { get; set; }
}
}
我的packages.config(减少至重要部分):
<packages xmlns="urn:packages">
<package id="EntityFramework" version="6.4.4" targetFramework="net472" />
<package id="EntityFrameworkCore.Jet" version="2.2.0" targetFramework="net472" />
<package id="Microsoft.EntityFrameworkCore" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.EntityFrameworkCore.Abstractions" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.EntityFrameworkCore.Analyzers" version="3.1.8" targetFramework="net472" />
<package id="Microsoft.EntityFrameworkCore.Design" version="3.1.8" targetFramework="net472" developmentDependency="true" />
<package id="Microsoft.EntityFrameworkCore.Relational" version="3.1.8" targetFramework="net472" />
<package id="Remotion.Linq" version="2.2.0" targetFramework="net472" />
</packages>
和web.config(简化为重要部分):
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<connectionStrings>
<!--add name="DefaultConnection" connectionString="Provider=Microsoft.ACE.OleDB.12.0; Data source=C:\...\AKneu.mdb" providerName="JetEntityFrameworkProvider" /-->
<add name="DefaultConnection" connectionString="Data source=C:\...\AKneu.mdb" providerName="JetEntityFrameworkProvider" />
<!--add name="DefaultConnection" connectionString="Data source=C:\...\AKneu.mdb" providerName="EntityFrameworkProvider.Jet" /-->
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.7.2" />
<httpRuntime targetFramework="4.7.2" />
</system.web>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory,EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.sqlClient" type="System.Data.Entity.sqlServer.sqlProviderServices,EntityFramework.sqlServer" />
<!--provider invariantName="EntityFrameworkCore.Jet" type="Microsoft.EntityFrameworkCore.Jet,Microsoft.EntityFrameworkCore"/-->
<!--provider invariantName="JetEntityFrameworkProvider" type="JetEntityFrameworkProvider.JetProviderServices,JetEntityFrameworkProvider"/-->
</providers>
</entityFramework>
</configuration>
如您所见,commets是我尝试解决的方法。但这没有帮助。你有什么建议吗?是因为Linq吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)