gpt4 book ai didi

mysql - Entity Framework 数据库首先使用 MySQL 和 MS SQL

转载 作者:行者123 更新时间:2023-11-29 05:41:49 25 4
gpt4 key购买 nike

我目前有一个首先使用 EF 数据库的应用程序,它是针对 SQL Server 数据库构建的。我希望能够连接到 MSSQL 或 MySQL。

我假设通过使用 EF 我可以将连接字符串更改为指向 MySQL,但是,当我这样做时,我收到以下错误:

Unable to cast object of type 'MySql.Data.MySqlClient.MySqlConnection' to type 'System.Data.SqlClient.SqlConnection'.

使 EF 与 MySQL 和 MSSQL 一起工作还需要哪些其他步骤。

更新:连接字符串:

<add name="EntityConnString" connectionString="metadata=res://*/Entities.csdl|res://*/Entities.ssdl|res://*/Entities.msl;provider=MySql.Data.MySqlClient;
provider connection string=&quot;server=localhost;User Id=root;password=password;Persist Security Info=True;database=mydb;Connection Protocol=NamedPipe&quot;" providerName="System.Data.EntityClient" />

最佳答案

为此您需要单独的 EDMX - 或者至少需要 SSDL 部分,很可能还需要连接字符串中指定的 MSL 部分。原因是 SSDL(EDMX 中的存储描述)依赖于提供者 = 目前您的 SSDL 说:“我只能连接到 MSSQL”。如果你想支持 MySQL,你需要 SSDL,它会说:“我只能连接到 MySQL”,并根据使用的数据库服务器定义连接字符串。 SSDL 包含特定于数据库的定义。如果您的 MySQL 数据库将使用不同名称的表或列或不同的模式,您还需要一个新的 MSL 部分(描述数据库表和您的实体之间的映射)。

关于mysql - Entity Framework 数据库首先使用 MySQL 和 MS SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6247564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com