Я использую subsonic 3.0.3 (ActiveRecords) в моем проекте winforms. Я очень стараюсь использовать Коллекции для своих сущностей, но до сих пор я не мог этого сделать.
Пожалуйста, позвольте мне прояснить себя.
Проходя по многим учебным пособиям, я увидел, что Subsonic создаст два класса. Один - это класс коллекции, а другой - объект сущности. скажем, например, если у меня есть таблица person в моей базе данных, то subsonic создаст класс Person Entity и класс PersonCollection. Веб-сайт (извините, я забыл, какой именно) также упомянул, что мне нужно использовать инструмент под названием SubsonicCommands для выполнения такого рода операций с дозвуковым. Я загрузил ту же версию для Visual Studio 2008 с этого сайта
http://oldtownit.com/media/files/SubSonicToolsSetup.zip
Я могу запустить инструмент и сгенерировать классы, но проект не будет компилироваться, потому что он ищет этот класс SubSonic.Utilities. Пожалуйста, скажите мне, где я могу найти этот класс? Я пытался найти этот класс в ~ \ Program Files \ Subsonic \ SubSonicTools \ source \, но не смог его найти.
Кроме того, я проверил код, класс коллекции все еще не генерировался. В вышеупомянутом случае, который я попробовал, было создано два класса: Person Entity Class и PersonController Class
Моя цель:
Что я пытаюсь сделать с помощью subonic, так это то, как работает LLBLGEN.
LLBLGEN Пример
скажем, например, если есть две таблицы Items и Suppliers, и они являются промежуточной таблицей ItemSuppliers, которая имеет отношение много к одному с обеими таблицами (Items и Suppliers), то в LLBLGEN я могу сделать что-то вроде
Item item = new Item (ItemFields.ItemId == 1);
item.ItemSuppliers.DeleteMulti ()
, который удалит все записи, связанные с элементом, ItemId которого равен 1 в таблице ItemSuppliers. Это также может быть сделано в отношении таблицы поставщиков (конечно, внося соответствующие изменения)
Также я хотел бы знать, могу ли я вернуть все ItemSuppliers для определенного элемента (из примера выше), если я вернул родительский объект.
снова пример из LLBLGEN
Item item = новый Item (ItemFields.ItemId == 1);
MessageBox.Show (item.ItemSuppliers.Count.ToString ());
Приведенное выше окно сообщения отображало бы 2, если бы было 2 поставщика для Предмета (из таблицы itemSuppliers)
Эпилог:
Subsonic - отличный инструмент для работы. Я использовал его часто, в некоторых ультрамалых проектах, но я хотел бы использовать его с немного более сложным проектом, на этот раз с некоторыми связями между таблицами.
Кроме того, если бы кто-то мог предложить, если бы я мог сделать, что я хочу сделать с дозвуковым, это было бы здорово и мило.