2008-12-20 6 views

Répondre

2

Quelle implémentation ActiveRecord utilisez-vous?

En Castle ActiveRecord, si votre table ressemblait à ceci:

table Document (
    Id int primary key, 
    ParentDocumentId int, 
    Title string 
) 

vous utiliseriez la syntaxe suivante:

[ActiveRecord(Table = "Document")] 
public class Document : ActiveRecordBase<Document> { 

    private int id; 
    private Document parent; 
    private string title; 
    private List<Document> children = new List<Document>(); 

    [PrimaryKey] 
    public int Id { 
     get { return id; } 
     set { id = value; } 

    } 

    [BelongsTo("ParentDocumentId")] 
    public virtual Document Parent { 
     get { return parent; } 
     set { parent = value; } 
    } 

    [HasMany(Table = "Document", ColumnKey = "ParentDocumentId", Inverse = true, Cascade = ManyRelationCascadeEnum.All)] 
    public IList<Document> Children { 
     get { return children.AsReadOnly(); } 
     private set { children = new List<Document>(value); } 
    } 

    [Property] 
    public string Title { 
     get { return title; } 
     set { title = value; } 
    } 
} 
Questions connexes