У меня есть следующие связанные объекты POCO, сохраненные в SQLite.Автозаполнение различных результатов с соответствующими записями
public class Customer
{
[PrimaryKey]
public int Id { get; set; }
public string Name { get; set; }
[Reference]
public List<Order> CustomerOrders { get; set; }
}
public class Order
{
[PrimaryKey]
public int Id { get; set; }
public int CustomerId { get; set; }
public string Type { get; set; }
public int Qty { get; set; }
}
Используя следующую AutoQuery с внутренним соединением
public class AutoQueryRequest : QueryBase<Customer>, IJoin<Customer, Order>
{
}
Если у меня есть 1 запись клиента с 3 связанных записей заказа, внутреннее соединение запрос возвращает 3 записи Клиента (как и ожидалось). Поскольку Заказы уже включены в объект Customer, как я могу заставить AutoQuery возвращать только отдельные записи Клиента (в этом случае 1)?
Спасибо за быстрый ответ. Я попытался использовать запрос для Клиентов, но не смог найти поля в Заказе. Например, если бы я хотел получить все записи Клиента (со связанными ордерами), у которых есть ордеры с типами «А», «В» и «С», я попытался использовать/QueryCustomers? CustomerOrderTypes = A, B, C, но это не так, т работы. Должен ли я использовать любую пользовательскую реализацию AutoQuery? – nivjen
@nivjen Нет, что не позволило бы вам запросить заказы, вам понадобится пользовательская реализация AutoQuery. – mythz
Спасибо за разъяснение. В таком случае мне нужно использовать внутреннее соединение между объектами Customer и Order? Любые указатели на пример/документацию были бы замечательными! – nivjen