是否有用于检索父对象的内置方法
本文关键字:内置 方法 对象 用于 检索 是否 | 更新日期: 2023-09-27 18:34:52
我在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;
最佳解决方案是仅从数据库中检索一次父级(注意:我处于单用户环境中,没有人/没有任何东西在外部修改我的数据库(。
你应该有一个这样的属性:
[Reference]
public ParentClass Parent { get; set; }
ChildClass
,然后您需要确保正确填充该属性。您在数据库中的子表上有 ParentId
属性,因此通过其 ID 获取父表应该没有任何问题 - 我想。