我在AWS RDS中拥有MySQL,我想通过C#Entity Framework访问它。 我安装了MySQL Visual Studio插件http://dev.mysql.com/downloads/file/?id=461390
在某个项目'Right Click' -> 'Entity Framework' -> 'Reverse Engineer Code First'
放入数据库凭据后,模型已创建,包括app.config
的app.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="algoventurelab_db1Context" connectionString="####"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<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" />
</providers>
</entityFramework>
</configuration>
我现在尝试使用以下代码查询Datebase:
using System;
using System.Linq;
using Test3.Models;
namespace Test3
{
class Program
{
static void Main(string[] args)
{
using (var context = new algoventurelab_db1Context())
{
var query = (from c in context.Daily25Data
where c.Date == DateTime.UtcNow
select c).SingleOrDefault();
Console.WriteLine(query);
}
}
}
}
然而,当我尝试跑步时,我得到了例外:
类型'System.InvalidOperationException'的未处理异常 发生在EntityFramework.dll
中其他信息:找不到实体框架提供商 具有不变名称“MySql.Data.MySqlClient”的ADO.NET提供程序。使 确保提供商在“entityFramework”部分注册 应用程序配置文件。看到 http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。
似乎是什么问题?
答案 0 :(得分:1)
在entityFramework \ providers部分,就在SqlClient提供程序添加
之后 <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />