2010-11-30 5 views
1

Wie modelliere ich Folgendes mithilfe von Castle ActiveRecord?Modellkollektionen der gleichen Klasse, die von mehreren anderen Klassen gehalten werden

Ich habe zwei Klassen, Kunde und Aufgabe.

Ich würde gerne eine dritte Klasse, Hinweis, in einer Sammlung in jeder der Kunden-und Task-Klassen gespeichert.

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

Ich würde dann in der Lage sein wie die Notes-Sammlung zu einer Gridview, Listview oder Repeater in der entsprechenden ASP.Net Seite für die Kunden oder Task-Klassen zu übergeben.

Antwort

0

Wir ließen uns auf dem folgenden Muster:

[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

Ich denke, was Sie brauchen, ist eine Typhierarchie zu implementieren. Sie können darüber lesen here.

Verwandte Themen