Замок ActiveRecord присоединяется - PullRequest
0 голосов
/ 17 июня 2011

Я новый пользователь Castle ActiveRecord, и теперь я считаю необходимым сделать выбор, включающий JOIN. Я понятия не имею, как это сделать.

Вот мои два (образца) класса:

[ActiveRecord("Orders")]
public class Order : ActiveRecordBase<Order>
{
   [PrimaryKey(PrimaryKeyType.Identity)]
    public int OrderID { get; set; }

    [Property]
    public int UserID { get; set; }

    [Property]
    public DateTime OrderDate { get; set; }

    [Property]
    public string ShipName { get; set; }

}

[ActiveRecord("Users")]
public class UserAccount : ActiveRecordBase<UserAccount>
{
    [PrimaryKey(PrimaryKeyType.Identity)]
    public int UserID { get; set; }

    [Property]
    public string FirstName { get; set; }

    [Property]
    public string LastName { get; set; }

}

Теперь, если я хочу получить все заказы вместе с UserAccount.FirstName и UserAccount.LastName, как мне это сделать? Насколько я понимаю, мне нужно создать другой класс, такой как "OrdersWithUserAccount", но я не знаю, как его определить.

Спасибо за помощь нубу!

1 Ответ

0 голосов
/ 28 июня 2011

Прошли ли вы учебник Castle ActiveRecord ?

Одна вещь, которую я замечаю, состоит в том, что у вас нет объект отношений, но ключ отношений.Чтобы использовать NHibernate и Castle ActiveRecord так, как они предназначены, ваша объектная модель должна иметь отношения между объектами .

Это означает, что ваш Order класс должен иметь свойство User, котороеуказывает на экземпляр UserAccount.Ваш класс UserAccount должен иметь коллекцию Orders.По моему опыту, это обычно должен быть ISet<Order>, который вы инициализируете в конструкторе UserAccount как HashedSet<Order>.

...