我们目前正在尝试将 SQLite 扩展 (PCL) 作为 ORM。
我们想知道如果在实体中正确配置了子项,映射是否应该在子项上构建一个带有 INNER JOIN 的 SELECT?
public class Project
{
[PrimaryKey]
public long Id { get; set; }
[ForeignKey(typeof(EnterpriseClient))]
public long EnterpriseClientId { get; set; }
[ManyToOne]
public EnterpriseClient EnterpriseClient { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<WorkOrderHead> WorkOrderHeads { get; set; }
}
如果我们使用 GetAllWithChildren 获取所有项目:
var x = _db.GetAllWithChildren<Project>(p => true);
我们的结果是对每个子项(EnterpriseClient)进行多项选择,我们希望它可以在一次选择和一次连接中收集所有数据。
我们的配置是错误的还是应该是这样的?