【问题标题】:C#: Good free (no gpl!) ActiveRecord lib [closed]C#:很好的免费(没有 gpl!)ActiveRecord 库 [关闭]
【发布时间】:2011-01-25 05:38:36
【问题描述】:

这个问题很简单,我想开发一个程序(winforms),它将广泛使用数据库,它将使用 System.Data.SQLite(或者 lib 应该以某种方式支持 sqlite,即使暗示编写查询我自己)并且我喜欢与 ActiveRecord 一起使用的方法(嗯,我在 cakephp 中使用它,而不是在 ruby​​ 中)

我阅读了有关“城堡”框架的信息,但它说它需要 NHibernate,我不知道许可证问题以及关于 NHibernate 的类似问题(我不知道它是如何工作的!)

我发现这个页面建议了很多框架......但我不知道我应该选择什么:http://csharp-source.net/open-source/persistence/castle-activerecord

那些 ActiveRecord 库是否支持数据库“缓存”(将内容存储在 c# 中的某些集合中)以避免每次重新查询?

感谢您的建议

重要的事情:我不想发布源代码,可能我想使用一个免费的框架,程序不会花费超过 500-600 欧元......我可以'买不起许可证(这是给“亲戚”的,我不能以正常价格出售)

应该可能以某种方式支持数据库视图(SQLite 在这种情况下对类型有一些问题)

更新 1:如果有办法拥有像 SQLite 这样的单文件数据库,我可以不使用 SQlite,但显然我在许可方面存在问题......我会喜欢使用 MySQL 之类的查询(MSAccess 略有不同,需要office)

【问题讨论】:

  • 你看过 nHydrate 吗? nhydrate.org
  • 不,正如我所说,我不知道应该从哪里开始,我现在只是在谷歌上搜索
  • 听起来,基于 NHibernate 构建的 Castle ActiveRecord 正是您想要的。
  • 嗯,activerecord 正是我的想象(我正是以这种方式想象图书馆),我正在测试亚音速,但我正在考虑城堡
  • @Fire-Dragon-DoL:对。你应该能够发布一个使用 NHibernate 的闭源程序。

标签: c# database activerecord licensing


【解决方案1】:

SubSonic 是一个 ORM,它是

  • 免费
  • LicensedNew BSDMS-Pl 下,因此您不必发布对源的更改
  • 支持ActiveRecord 模式(以及其他几个模式)
  • 适用于 SQLite
  • 似乎学习曲线较低

【讨论】:

  • 谢谢你是第二个建议的人,我正在看一个关于它的视频
  • @Fire-Dragon-DoL 我在 .NET 4 程序中使用 SubSonic 3 二进制文件。我记得我很容易解决了一个小的兼容性问题。此外,您始终可以为 .NET 4 重新编译。
  • 我很难“安装”它......或者更好的是,我不明白我应该如何处理 .tt 文件
【解决方案2】:

为什么不将 LinqToSql 或 LinqToEntities 与 SQL CE 4.0 数据库一起使用?

所有这些都由 Microsoft 作为 Visual Studio 2010 的一部分提供,因此您不会遇到任何许可证问题。

【讨论】:

  • 不错,但和activerecord不太相似,我更喜欢pattern与数据库交互的方式
【解决方案3】:

虽然我在问题中写了“no gpl”,但我理解我误解了“LGPL”许可证,它不需要您必须发布您的应用程序源代码,而只需修改 lgpl 的源代码...这很有趣(这件事也适用于 GPL 吗?)。

读完后,我指了指Castle ActiveRecord(基于NHibernate),它实际上非常好

但是,网站上的示例“过时”不是针对“城堡”方面而是针对“休眠”方面的,实际上所有连接字符串和配置都是不完整/错误的,并且不适用于 .NET 4.0因为您必须知道如何在 .NET 4.0 下运行 System.Data.SQLite 而在 .NET 2.0 中开发。虽然听起来很难,但您只需编辑 app.config 文件,其中只有 1 行,所以这不是什么大问题。

但是,您必须通过观察调试器和您得到的异常来理解所有这些错误。经过 3-4 小时的搜索/测试/类似的事情,我设法使它与 sqlite 和 mysql 一起工作(在此之前用 mysql 测试更容易)。

真的很好,我希望这个答案对其他人也有用。

特别感谢迈克尔·马多克斯

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2013-03-30
    相关资源
    最近更新 更多