Модельные коллекции того же класса, проведенные несколькими другими классами - PullRequest
1 голос
/ 30 ноября 2010

Как мне смоделировать следующее с помощью Castle ActiveRecord?

У меня есть два класса, Клиент и Задача.

Я хотел бы повторно использовать третий класс Note, хранящийся в Коллекции, в каждом из классов Customer и Task.

public class Note
{
    public int ID { get; set; }
    public string Subject { get; set; }
    public string Body { get; set; }
}

public class Customer
{ 
    public int ID { get; set; }
    public IList<Note> Notes { get; set; }
}

public class Task
{
    public int ID { get; set; }
    public IList<Note> Notes { get; set; }
}

Затем я хотел бы иметь возможность передавать коллекцию Notes в Gridview, Listview или Repeater на соответствующей странице ASP.Net для классов Customer или Task.

Ответы [ 2 ]

1 голос
/ 01 декабря 2010

Я думаю, что вам нужно реализовать иерархию типов.Вы можете прочитать об этом здесь .

0 голосов
/ 08 декабря 2010

Мы остановились на следующей схеме:

[ActiveRecord]
public class Note
{
    [PrimaryKey]
    public int ID { get; set; }

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

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

    [BelongsTo]
    public Customer Customer { get; set; }

    [BelongsTo]
    public Customer Task{ get; set; }
}

[ActiveRecord]
public class Customer
{ 
    [PrimaryKey]
    public int ID { get; set; }

    [HasMany]
    public IList<Note> Notes { get; set; }
}

[ActiveRecord]
public class Task
{ 
    [PrimaryKey]
    public int ID { get; set; }

    [HasMany]
    public IList<Note> Notes { get; set; }
}
...