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.