Mysql - Visual Web Developer - Entity Framework

4

我遇到了以下问题。

我使用的是Visual Web Developer 2010 Express,正在尝试将其与Entity Framework和MySQL数据库配合使用。

我已经安装了MySql的.NET连接器,但它似乎无法与Web Developer整合,就像它与Visual Studio 2010(专业版)一样。创建ADO.NET实体数据模型的向导要求我提供用于连接数据库的数据,但我无法选择MySql驱动程序,因此无法创建连接,简而言之,我无法继续。

我尝试过以下方法:

1)在我的项目中引用了MySql.Data、MySql.Web和MySql.Data.Entity,但没有效果。

2)我已经在我的Web.config中手动创建了一个连接字符串,如下所示:

<connectionStrings>
  <add name="modelEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=MySql.Data.MySqlClient; provider connection string='server=localhost;User Id=simply; database=simply;password=simply'" providerName="System.Data.EntityClient"/
</connectionStrings>

同时,我还添加了以下代码:

<system.data>
    <DbProviderFactories>
        <clear />
        <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
    </DbProviderFactories>
</system.data>

3) 我已将之前的连接字符串更改为普通连接字符串,如下所示:

<add name="connection" connectionString="server=localhost;database=simply;uid=simply;password=simply" providerName="System.Data.EntityClient"/>

4) 我已经将以下代码添加到我的machine.config文件中(并重新启动了计算机):

<DbProviderFactories>
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

到目前为止,这一切都没有用。有人能指导我该如何让我的Entity Framework与MySql一起运行,并解释一下吗?

非常感谢您能提供的任何帮助。


你好@Steven,快速澄清一下,在vs2010 Pro中它可以正常工作,但在Web Dev中不行?在我的配置中,我没有dbProviderFactories,并且我的字符串看起来像这样:<add name="testdbDB" connectionString="metadata=res://*/testdbAdo.csdl|res://*/testdbAdo.ssdl|res://*/testdbAdo.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;User Id=********;password=********;Persist Security Info=True;database=testdb"" providerName="System.Data.EntityClient"/>。 你尝试过这些吗:installconnect - mateuscb
你好。是的。在我的工作中,我们有VS2010专业版,它在那里运行得很好。我这里只有Web Dev。 我尝试了你们两个链接,但都没有成功。第一个链接期望出现.NET连接器,但它没有出现 - 就像Devart所评论的那样,这应该是设计行为,因为Web Dev不允许第三方可扩展性。 不幸的是,第二个链接也有同样的问题。 但感谢您的思考。如果您有任何其他提示/想法,请告诉我。 - Steven Lemmens
没有问题。看起来比我想象的要困难一些。@Devart的链接似乎很有希望。祝你好运。如果我找到了其他信息,会发布的。 - mateuscb
1个回答

4

1
感谢您的帮助。我最终使用edmgen2生成了我的模型,这很好用。有点遗憾的是我不能在Visual Studio环境中更新模型,但是这就是Express版本的限制吧,我想。 - Steven Lemmens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接