Ich bin neu in Azure App Service Mobile Apps. Ich versuche meine Optionen für die Verwendung von TableController
zu verstehen, um komplexe Domänenobjekte für Clients verfügbar zu machen. Mein Ziel bei der Verwendung von TableController
ist es, die clientseitige Abfrage und Offline-Synchronisierung zu nutzen.TableController: Glatte persistente Daten in DTO
Tabellen-Controller sind für die Ausführung von CRUD-Operationen auf einfachen DTOs ausgelegt. Also versuche ich herauszufinden, wie ein komplexes Domänenmodell als die Art von DTOs dargestellt werden könnte, die für TableController
entwickelt wurde.
Ich habe this post gelesen, die MappedEntityDomainManager
erklärt. Dieses Beispiel zeigt eine ziemlich einfache Zuordnung zwischen DTOs und persistenten Objekten. Aber was, wenn ich möchte, dass mein Mapping komplexer ist?
Zum Beispiel lassen Sie uns sagen, ich habe persistenten Typen wie folgt aus:
public class Order {
public Customer Customer { get; set; }
public IList<OrderItem> OrderItems { get; }
}
public class Customer {
public string Name { get; set; }
public string TelephoneNumber { get; set; }
}
public class OrderItem { ... }
Und ich habe eine Tabelle Controller wie folgt erklärt:
public class OrderController : TableController<OrderDto>
Könnte die OrderDto
dann wie folgt aussehen?
public class OrderDto {
public string CustomerName { get; }
public string Customer { get; }
public string OrderItems { get; }
}
Die Zuordnungen wären wie folgt. Die Order.Customer.Name
Eigenschaft ist in OrderDto.CustomerName
abgeflacht. Das vollständige Objekt Customer
ist in OrderDto.Customer
serialisiert. Und die Order.OrderItems
Liste ist in OrderDto.OrderItems
serialisiert.
Kann diese komplexe Zuordnung mit MappedEntityDomainManager
durchgeführt werden? Wenn nicht, wie könnte es gemacht werden? Ich weiß über leveraging $expand
, aber ich sorge mich, dass ein nicht unterstützter Hack eher als die empfohlene Vorgehensweise sein kann.
Ihr Ansatz sieht mit sqlite auf Client-Seite (App) und mit NoSQL in der Cloud. Dies ist mehr oder weniger wie Amazon Web Services SNC Ansatz, wenn ich richtig verstehe. – batmaci