【问题标题】:Subsonic 3 Linq Documentation亚音速 3 Linq 文档
【发布时间】:2010-02-26 03:22:00
【问题描述】:

我昨天才开始研究 Subsonic,甚至连最基本的任务都搞不定。我看过 ActiveRecord 和 SimpleRepository 的演示,但它们不符合我们的要求,所以我尝试使用 Linq 模板。

Linq 的入门指南足以进行查询,但我如何执行其他操作,例如插入记录并取回它的自动增量 ID?

是否有在某处使用 Subsonic Linq 的相当全面的指南?

【问题讨论】:

    标签: orm subsonic subsonic3


    【解决方案1】:

    嗯,有这样的: http://subsonicproject.com/docs/Using_AdvancedTemplates

    我能看到的有点稀疏:)。在大多数情况下,它就像 Linq to SQL 一样工作,因为您需要创建“DB”。该数据库允许您对所有对象进行插入、删除等操作。你也可以做聚合等等。

    使用(var db=new NorthwindDB()){ db.Insert.Into("Name").Values("New Name").Execute(); }

    用于与数据库交互的工具与我们的简单查询工具一起使用: http://subsonicproject.com/docs/Simple_Query_Tool

    如果你想为你做更多的事情(比如取回新的 id 等),你应该坚持使用 ActiveRecord。

    出于好奇 - 什么不合适?

    【讨论】:

    • 您好 Rob,感谢您的快速回复。我们偏离 ActiveRecord 的几个原因 - 1. 我们可能没有正确理解它,2. 对它运行简单的单元测试会使 MySQL 数据提供程序在关闭时崩溃(空引用),这在 Linq 模板中似乎没有发生, 3. Linq 的东西似乎更符合我的想法。从概念上讲,我真的很喜欢亚音速,尤其是在看了几天hibernate之后,但现在我很困惑。我使用 ActiveRecord 还是 Linq。哪里有一些好的示例或文档等...我会再次尝试 ActiveRecord。
    • 嗨,Rob,我再次查看了 ActiveRecord 再次崩溃:这有效: var db = new testDB(); db.Insert.Into(c => c.name) .Values("Acme") .Execute();但这会崩溃(不是立即,关闭时,使用 MySql) company c = new company(); c.name = "Acme"; c.保存();如果您想了解更多信息,请告诉我...
    • 我在 mysql 中使用 subsonic 并解决问题,我以 s 结束所有表名,所有 primaryKeys 都是 TableNameID,即在 activerecord 中以 BasketID 作为 primaryKey 的表篮也用于插入 var testinsert = new TestTable{ TestName = "测试",TestOther="测试 2"}; testinsert.Add();这是我发现的最简单的插入方法,因为另一种方法不会将 DataTime 转换为 mysql DateTime 并在 mysql 上崩溃,但如果您使用该模型,则亚音速转换正确
    • 我上面谈到的崩溃可以通过从最新源构建来修复。在这个时间点,使用从 sub-sonic 网站下载的情况在描述的情况下崩溃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多