Да, вы можете сделать это. Вы можете сопоставить отношение «один ко многим» со встроенным или простым типом (тип значения или строка), а не с постоянным типом.
Вам потребуется указать параметры ColumnKey
, Table
и Element
в объявлении атрибута HasMany
, чтобы правильно подключить его. У вас должен быть столбец суррогатного ключа, чтобы AR мог обрабатывать обновления и каскады, а затем Element
сообщает AR, какой столбец в таблице содержит простое значение, которое он будет использовать для составления списка.
[HasMany(typeof(string), Table="ToDoList_Items",
ColumnKey = "ListItemID", Element = "Item")]
public IList<string> Items { get; set; }
(или что-то подобное - у меня нет компилятора, пригодного для этого флажка, чтобы проверить его; но согласно документации по API он должен работать.)
Кстати, если вы еще не взглянули, http://api.castleproject.org является необходимым условием для любой работы со стеком Замка.