Docs > Framework >

Data Access

CQS, IQuery & ICommand

Under the covers Cofoundry uses a lightweight CQS framework to structure our data access. You can structure your data access any way you want, but this framework is there for you to use if you want to benefit from:

  • A best-practice and structured methodology
  • Integrated validation
  • Integrated permission handling
  • Integrated logging

Detailed information available here

Repositories

The one drawback of using a CQS framework is discoverability. To remedy this we've implemented some lightweight repositories that you can take advantage of to get easy to find method with intellisense support. The following repositories are registered with the DI container:

  • IImageAssetRepository
  • IDocumentAssetRepository
  • ICustomEntityRepository
  • IPageRepository
  • IPageBlockTypeRepository
  • IPageDirectoryRepository
  • IUserRepository
  • IRoleRepository
  • IRewriteRuleRepository

Entity Framework

Cofoundry uses Entity Framework Core for data access and includes a few tools you may wish to use if you are also using EF Core for your own data.

See the section on Entity Framework & DbContext Tools which details tools to help you:

  • Set up your DbContext
  • Run stored procedures
  • Manage transactions

Database Migrations

Cofoundry does not use EF Database Migrations and instead we use our own framework for managing database updates via SQL scripts. This framework is also available to you as well as plugin developers.

For more information see the Auto Update Documentation