使用F#在MySql数据库中存储数据结构

时间:2011-02-03 13:57:16

标签: .net mysql f#

我需要在MySql数据库中存储大而复杂的数据结构(我使用F#)。现在我有两个想法:

仅使用结构(限制),然后创建nativeptr< _>到struct,转换为nativeptr并将all加载到一个字节[],这是一个MySql blob。

使用F#Reflection库将所有内容转换为JSON并从中转换为字符串(slooow)。

我错过了更好的方法吗?这两种方式哪种方式更好?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为将F#数据结构存储为二进制blob或文本数据并不是一个好主意 - 如果您使用的是关系数据库,则应将数据存储到具有(合理)列的表中。

最直接的方法是使用ADO.NET(MySQL有some providers that allow that)。从F#调用ADO.NET的代码与从C#调用它的代码基本相同。例如,请参阅使用MySqlConnection的{​​{3}}(PDF)。

通过在F#中使用?(动态)运算符,您可以更好地读取数据。我写了一个code in this tutorial,但它也适用于MySQL。

最后,似乎MySQL还有实体框架(example demonstrating this in MS SQL)的提供者,因此您可以使用F#LINQ支持(但是当前版本对EF查询的支持有限,所以它可以工作只有在简单的场景中。)