В настоящее время мы пробуем расширения SQLite (PCL) в качестве ORM.
Нам интересно, должно ли сопоставление создавать SELECT с INNER JOIN для дочерних элементов, если они правильно настроены в сущности?
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), и мы надеялись, что он будет заключаться в одном выборе и соединении для одновременного сбора всех данных.
Наша конфигурация неверна или так и должно быть?