У меня есть два (упрощенный) классы в ORMLite (с помощью поставщика SQLite, но не имеет значения):Есть ли встроенный способ для извлечения родительского объекта?
public class ParentClass
{
[AutoIncrement]
public long Id { get; set; }
[Required]
[Index(Unique = true)]
public String Name { get; set; }
[Reference]
public List<ChildClass> Children { get; set; }
}
public class ChildClass
{
[AutoIncrement]
public long Id { get; set; }
[Required]
[Index(Unique = true)]
public String Name { get; set; }
[Required]
public long ParentId { get; set; }
}
Когда у меня есть родитель, я могу просто сделать
var firstChild = parent.Children.First();
или аналогичный для непосредственного получения дочернего класса. Однако, когда мне нужно сделать это наоборот, мне нужно сделать
var parent = db.Single<ParentClass>(new { Id = child.ParentId });
Есть ли способ, чтобы создать классы данных, так что я могу просто сделать следующее?
var parent = child.Parent;
Оптимальное решение будет один, где родитель будет получен только из базы данных один раз (Примечание: Я нахожусь в однопользовательской среде и нет никто/ничего модифицируя свою базу данных извне).
См. [«Если вопросы включают« теги »в их названиях?»] (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), где консенсус «нет, они не должны»! –