Edition 0 Updated to asp. Net core 0



Yüklə 11,82 Mb.
Pdf görüntüsü
səhifə164/288
tarix12.07.2023
ölçüsü11,82 Mb.
#136458
1   ...   160   161   162   163   164   165   166   167   ...   288
NET-Microservices-Architecture-for-Containerized-NET-Applications

Ordering.API
microservice project within the eShopOnContainers 
solution. 
Figure 7-4. Queries in the Ordering microservice in eShopOnContainers 
Use ViewModels specifically made for client apps, independent from 
domain model constraints 
Since the queries are performed to obtain the data needed by the client applications, the returned 
type can be specifically made for the clients, based on the data returned by the queries. These models, 
or Data Transfer Objects (DTOs), are called ViewModels. 
The returned data (ViewModel) can be the result of joining data from multiple entities or tables in the 
database, or even across multiple aggregates defined in the domain model for the transactional area. 
In this case, because you are creating queries independent of the domain model, the aggregates 
boundaries and constraints are ignored and you’re free to query any table and column you might 
need. This approach provides great flexibility and productivity for the developers creating or updating 
the queries. 
The ViewModels can be static types defined in classes (as is implemented in the ordering 
microservice). Or they can be created dynamically based on the queries performed, which is agile for 
developers. 
Use Dapper as a micro ORM to perform queries 
You can use any micro ORM, Entity Framework Core, or even plain ADO.NET for querying. In the 
sample application, Dapper was selected for the ordering microservice in eShopOnContainers as a 
good example of a popular micro ORM. It can run plain SQL queries with great performance, because 
it’s a light framework. Using Dapper, you can write a SQL query that can access and join multiple 
tables. 


190 
CHAPTER 6 | Tackle Business Complexity in a Microservice with DDD and CQRS Patterns 
Dapper is an open-source project (original created by Sam Saffron), and is part of the building blocks 
used in 
Stack Overflow
. To use Dapper, you just need to install it through the 
Dapper NuGet package

as shown in the following figure: 
You also need to add a 
using
directive so your code has access to the Dapper extension methods. 
When you use Dapper in your code, you directly use the 
SqlConnection
 class available in the 
Microsoft.Data.SqlClient
 namespace. Through the QueryAsync method and other extension methods 
that extend the 
SqlConnection
 class, you can run queries in a straightforward and performant way. 

Yüklə 11,82 Mb.

Dostları ilə paylaş:
1   ...   160   161   162   163   164   165   166   167   ...   288




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin