2010-11-30 3 views
1

Как смоделировать следующее, используя Castle ActiveRecord?Коллекции моделей того же класса, принадлежащие нескольким другим классам

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

Я хотел бы повторно использовать третий класс, примечание, хранящийся в коллекции в каждом из классов 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 для Клиента или классов Task.

ответ

0

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

[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; } 
} 
1

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