FAQs¶
Q: What types of .NET applications are possible to create with Crystal Sharp?
A: ASP.NET Core Web API, ASP.NET Core MVC, Console applications, and other .NET enabled apps.
Q: Is it possible to only use CQRS?
A: Yes
Q: Does the Crystal Sharp database integration offer support for both a code-first and database-first approach?
A: Yes. Crystal Sharp database integration accommodates both approaches.
Q: Is it possible to use CQRS, Database Integration, Event Store, Read Model Store, Saga Store, and Message Broker all at once?
A: Yes. Consider the following example:
IResolver resolver = CrystalSharpAdapter.New(builder.Services)
.AddCqrs(typeof(PlaceOrderTransaction))
.AddMsSql<AppDbContext>(dbSettings)
.AddEventStoreDbEventStore<int>(eventStoreConnectionString)
.AddMongoDbReadModelStore(readModelStoreDbSettings)
.AddMsSqlSagaStore(sagaStoreDbSettings, typeof(PlaceOrderTransaction))
.AddRabbitMq(messageBrokerSettings)
.CreateResolver();
Q: When to use domain events?
A: Utilization of the event store requires the use of domain events to store event data effectively. Furthermore, domain events are vital components for choreography-based sagas.
Q: When to use domain event handlers?
A: Domain event handlers can be used if there is a requirement to carry out an operation on any domain event.