2010-08-07 1 views
1

Я использую дозвуковой 3.0.3 (ActiveRecords) в моем проекте winforms. Я очень стараюсь использовать Коллекции для своих объектов, но до сих пор я не мог этого сделать.Работа с отношениями в Subsonic

Пожалуйста, позвольте мне сделать себя более ясным.

Пройдясь по многим учебникам, я увидел, что Subsonic будет генерировать два класса. Один - это класс коллекции, а другой объект объекта. скажем, например, если у меня есть таблица person в моей базе данных, subonic будет генерировать класс Person Entity и класс PersonCollection. Веб-сайт (извините, я забыл, какой), также упомянул, что мне нужно использовать инструмент под названием SubsonicCommands для выполнения такого рода оптика с дозвуковым. Я скачал версию того же для Visual Studio 2008 с этого сайта http://oldtownit.com/media/files/SubSonicToolsSetup.zip

я могу запустить инструмент и генерировать классы, но проект обыкновения компиляции, потому что он ищет этот класс SubSonic.Utilities. Молитесь, расскажите, где я могу найти этот класс? Я попытался найти этот класс в ~ \ Program Files \ Subsonic \ SubSonicTools \ source \, но не смог его найти.

Кроме того, я проверил код, класс коллекции все еще не сгенерирован. В приведенном выше случае, я попытался, было два класса, сгенерированные, Person Entity Класс и PersonController Класс

Мой AIM:

То, что я пытаюсь сделать с subonic это, как работает LLBLGen.

LLBLGen Пример

скажет, например, если есть две таблиц, товары и поставщики, и их промежуточная таблица называется ItemSuppliers, который имеет много, чтобы одним соотношения с обеими таблицами (пункты и поставщики), то в LLBLGEN, я могу сделать что-то вроде

Элемент item = new Item (ItemFields.ItemId == 1); item.ItemSuppliers.DeleteMulti()

, который удалит все записи, связанные с элементом, ItemId которого равен 1 в таблице ItemSuppliers. Это также можно сделать в отношении таблицы «Поставщики» (конечно, внесение необходимых изменений)

Также я хотел бы знать, если я могу вернуть все ItemSuppliers для определенного элемента (из приведенного выше примера), если я вернул родительский объект.

еще один пример от LLBLGEN Элемент item = new Item (ItemFields.ItemId == 1); MessageBox.Show (item.ItemSuppliers.Count.ToString());

выше сообщение будет Dispaly 2, если были 2 поставщиков для элемента (из таблицы itemSuppliers)

Эпилог:

Дозвуковые является удивительным инструментом для работы. Я часто использовал его в некоторых ультра небольших проектах, но я хотел бы использовать его с чуть более сложным проектом, на этот раз с некоторыми отношениями между таблицами.

Кроме того, если кто-то может предложить, если смогу, то, что я хочу делать с дозвуковым, это было бы потрясающе и мило.

ответ