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

标签 .net mysql f#

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

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

使用 F# 反射库将所有内容与 JSON 相互转换并存储为字符串 (slooow)。

有没有我错过的更好的方法?这两种方式哪种更好?

谢谢!

最佳答案

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

最直接的方法是使用 ADO.NET(MySQL 有 some providers that allow that)。从 F# 调用 ADO.NET 的代码与从 C# 调用它的代码基本相同。参见示例 code in this tutorial (PDF) 使用 MySqlConnection

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

最后,MySQL 似乎也有 Entity Framework 的提供程序 ( see here ),因此您可以使用 F# LINQ 支持(但当前版本对 EF 查询的支持有些有限,因此它只能很好地工作在简单的场景中)。

关于.net - 使用 F# 在 MySql 数据库中存储数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887006/

相关文章:

c# - 公开 .Net 服务

.net - 如何匹配 xml 字符串末尾的斜杠?

c# - C#通用扩展方法可编译但无法使用?

mysql - Wordpress SQL 查询以获取自定义帖子类型中的 meta_key 名称

f# - 在游戏引擎中使用 F#

orm - F#-选择哪个ORM?

c# - 使用按钮向右和向左 move 面板单击 C#

php - Jquery 用户界面 : autocomplete search by multi data column from mysql db

php - 获取插入行的 ID

performance - F# 处理复杂键(如数据结构中的 int*int*int)比 Ocaml 慢得多