F#针对SQLite的类型提供程序?

12

我已经搜寻了一个月左右,但无果。Fsharpx、F# powerpack、codeplex、github、fssnip.net、hubfs.net、System.Data.SQLite、dba.stackexchange.com、F# & SQLite 论坛、博客等都没有提供 F# 与 SQLite 的类型提供程序。截至今天,在公共领域中还不存在 F# 与 SQLite 的类型提供程序。你能证明我错了吗?

假设没有人能证明我是错的,那么我的下一步是要开始创建一个 F# 与 SQLite 的类型提供程序。虽然我不太有信心能做到这一点(我会完成它,但它不会很美观,而且需要比熟悉 F# 的人花费更多的精力),但这将迫使我去学习如何制作。我是 F# 的学生,还不是专业人士。我也从未在公共领域中创建过任何东西。我应该尝试在 GitHub 上创建吗?还是这太过复杂,解决方案就是将这个问题的各种答案/代码解决方案发布在此帖子中(以及最终的优雅解决方案在 fssnip.net 上)?

P.S. - 我希望这篇帖子能引起 GlennFerrieLive 的兴趣,因为他发了一篇帖子Project ideas for FSharp Type Providers? [closed]

顺便说一句,非常感谢这个网站和其他所有极其有帮助的人们,F# 真是太棒了,谢谢 Don Syme!

2个回答

9

只是想让您知道,我的SQL类型提供程序现在支持SQLite,欢迎贡献并帮助测试,但它还没有完全准备好用于生产。


5
Entity Framework支持sqlite,因此您应该能够为数据库架构创建一个.edmx文件,然后使用EDMX类型提供程序生成您的类型。
您可以尝试使用Visual Studio中可用的设计时支持通过System.Data.SQLite插件创建.edmx文件,参见这个早期的SO帖子:如何在Visual Studio 2008中从现有的SQLite数据库创建Entity Framework模型?
最后,CodeProject有一篇关于在Visual Studio中使用SQLite的不错的文章;虽然与F#无关,但对于一般背景信息可能很有用:使用SQLite嵌入式数据库和Entity Framework和Linq-to-SQL。

实体框架(EF):我不知道你可以让EdmxFile与SQLite一起工作,即使这会导致使用EF,所以学到这点很棒,谢谢。 - Rick
Entity Framework(EF)续:2. 我对EF的理解是(我没有使用过EF),它的使用/好处在于抽象关系模式。您只需使用数据库中的字段,而不必考虑表/视图。因此,您无法关注查询性能的最大化,因为您不知道EF如何在后台为您构建所需的查询(例如表连接)。因此,使用EF的权衡是,不关注查询性能,这是我希望通过避免使用EF来避免的事情。 - Rick
Entity Framework(EF)续:3. 话虽如此,您仍然为SQLite提供了F#类型提供程序解决方案,而我目前还没有找到任何解决方案,对此我表示感谢! - Rick
警告 - 正在学习中:我在上面的评论中可能有一些理解不正确。现在我要开始使用Jack P.的EdmxFile类型提供程序解决方案与SQLite。我会在后面发布相关信息...附言 - 有没有更好的方法可以超过每个评论600个字符的限制进行发布,以便您不必将其分成几个评论帖子? - Rick
1
@Rick - 600个字符的限制是为了防止在旨在成为问答网站而不是讨论板块上进行冗长的讨论。试图绕过此限制并不是适当的回应。您对EF的理解是错误的。EF并没有抽象出表或连接的存在,虽然它确实基于LINQ语句构建SQL,但在这方面它并不比其他ORM更差。如果您要手工编写SQL,那么无论是否有类型提供程序,您都需要什么ORM呢? - Joel Mueller
显示剩余2条评论

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