Как я могу установить отношение родитель-потомок в одной таблице, используя ActiveRecord?
-
23-08-2019 - |
Вопрос
Как я могу установить отношение родитель-потомок в одной таблице?
Id int,
title string,
ParentId int ---> this is refer to Id
Решение
Какую реализацию ActiveRecord вы используете?
В Замок ActiveRecord, если бы ваша таблица выглядела следующим образом:
table Document (
Id int primary key,
ParentDocumentId int,
Title string
)
вы бы использовали следующий синтаксис:
[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; }
}
}
Не связан с StackOverflow