为MySql键入提供程序

时间:2013-12-19 15:50:24

标签: mysql f# type-providers f#-3.0 f#-data

我一直在寻找一个关于如何连接到MySql数据库并使用F#类型提供程序的示例,但我在网上找不到任何东西。

任何人都可以给我一个线索吗?什么 - 如果有的话 - 我需要额外的包裹?我使用SqlDataConnection还是SqlEntityConnection

请原谅我的无知,但我完全迷失了。任何和所有的帮助表示赞赏。我喜欢类型提供者的想法,并且在功能性编程方面有相当多的经验,但是围绕这个的设置让我感到满意。

5 个答案:

答案 0 :(得分:5)

我认为目前没有可用于MySQL的开箱即用类型提供程序。但是,Ross McKinlay一直致力于为SQL数据库提供更好的类型提供程序(更一般地说)。它目前适用于MS SQL服务器和SQL Lite。

应该可以编写一个扩展来支持MySQL相当少量的工作(但遗憾的是,它还没有完成)。见his blog for details。我相信这是值得欢迎的!

答案 1 :(得分:4)

我没有对此进行测试,但是如果Entity Framework works with MySql(确实如此)并且F#有Entity Framework Type Provider(确实如此),那么我希望实体框架类型提供程序能够与MySql一起使用。< / p>

你尝试过这种方法吗?

答案 2 :(得分:4)

如果您仍然感兴趣,我最近在我的SQL type provider中添加了对MySQL的支持,测试帮助会很好!

答案 3 :(得分:1)

  

一般SQL数据库类型提供程序,支持LINQ查询,模式   探索,个人以及更多。

     

提供程序目前支持MS SQL Server,SQLite,PostgreSQL,   Oracle,MySQL和MS Access。除SQL Server之外的所有数据库供应商   和MS Access将需要第三方ADO.NET连接器对象   功能。这些是在运行时动态加载的,以便SQL   提供者项目不依赖于它们。你必须提供   使用&#34; ResolutionPath&#34;组件的位置静态参数。

https://fsprojects.github.io/SQLProvider/

答案 4 :(得分:0)

我想我真的得到了它!这是我做的:

  • 安装MySql连接器
  • 添加并引用了MySql.Data&amp;我的项目中的MySql.Data.Entity
  • 在我的项目中添加了EntityFramework 5.0
  • 添加了MySql.Data&amp; GAC的MySql.Data.Entity。

然后我能够使用SqlEntityConnection并获取类型!

尽管如此,还是有一种更简单的方法。特别是,向GAC添加内容不应该是所有这些过程的一部分。我的意思是,我要求很多东西“开箱即用”吗?!

不幸的是,我对.Net非常不熟悉,所以我无法使用App.config文件。基于我在这里的搜索,看起来我不是唯一一个遇到麻烦的人。如果有人有任何反馈/建议,请帮忙!