Activerecord 在亚音速中处理关系

Activerecord 在亚音速中处理关系,activerecord,subsonic,Activerecord,Subsonic,我正在winforms项目中使用亚音速3.0.3(ActiveRecords)。我正在努力为我的实体使用集合,但到目前为止我还无法做到这一点 请允许我说得更清楚些 在阅读许多教程时,我已经看到,亚音速将生成两个类。一个是集合类,另一个是实体对象。例如,如果我的数据库中有一个person表,subsonic将生成一个person实体类和一个PersonCollection类。一个网站(对不起,我忘了,哪一个)也提到我需要使用一个叫做亚音速命令的工具来执行亚音速的这种操作。我从这个网站下载了Visu

我正在winforms项目中使用亚音速3.0.3(ActiveRecords)。我正在努力为我的实体使用集合,但到目前为止我还无法做到这一点

请允许我说得更清楚些

在阅读许多教程时,我已经看到,亚音速将生成两个类。一个是集合类,另一个是实体对象。例如,如果我的数据库中有一个person表,subsonic将生成一个person实体类和一个PersonCollection类。一个网站(对不起,我忘了,哪一个)也提到我需要使用一个叫做亚音速命令的工具来执行亚音速的这种操作。我从这个网站下载了VisualStudio2008的一个版本

我可以运行该工具并生成类,但该项目不会编译,因为它正在寻找这个类SubSonic.Utilities。请问,我在哪里可以找到这门课?我尝试在~\Program Files\Subsonic\Subsonic Tools\source\中查找该类,但找不到它

另外,我检查了代码,仍然没有生成集合类。在我尝试的上述案例中,生成了两个类:Person实体类和PersonController类

我的目标是:

我想用subonic做的是LLBLGEN的工作原理

LLBLGEN示例

例如,如果有两个表,Items和Suppliers,它们是一个中间表,称为ItemSuppliers,它与这两个表(Items和Suppliers)都有多对一的关系,那么在LLBLGEN中,我可以执行以下操作

项目=新项目(ItemFields.ItemId==1); item.ItemSuppliers.DeleteMulti()

这将删除ItemSuppliers表中与ItemId为1的项目相关的所有记录。这也可以针对供应商表进行(当然,进行适当的更改)

我还想知道,如果我返回父对象,是否可以返回特定项目的所有ItemSuppliers(来自上面的示例)

又是一个来自LLBLGEN的例子 项目=新项目(ItemFields.ItemId==1); Show(item.ItemSuppliers.Count.ToString())

如果一个项目有2个供应商(来自itemSuppliers表),则上述消息框将显示2

结语:

亚音速是一个很棒的工具。我经常在一些非常小的项目中使用它,但我想在更复杂的项目中使用它,这次它在表之间有一些关系


还有,如果有人能建议,如果我能做,我想用亚音速做什么,那将是非常棒和甜蜜的

开始时,您会说您使用的是3.0.2版,但似乎您使用的是亚音速2.2和3版-您应该使用其中一种

版本2中的utlities类。
可从以下位置下载:

您首先说您使用的是3.0.2版,但似乎您使用的是亚音速2.2和3-您应该使用其中一种

版本2中的utlities类。 可从以下网址下载: