Нет, Kephas.Data - это абстракция над постоянством данных.Он может быть сопоставлен с типичными ORM или может быть напрямую связан с хранилищем постоянных данных, например MongoDB.Вот некоторые отправные точки:
- Когда вам нужен доступ к данным, импортируйте сервис IDataSpace через фабрику, что-то вроде кода ниже:
public class DataConsumer
{
IExportFactory<IDataSpace> dataSpaceFactory;
public DataConsumer(IExportFactory<IDataSpace> dataSpaceFactory)
{
this.dataSpaceFactory = dataSpaceFactory;
}
public async Task<> GetDocumentsCountAsync(CancellationToken token)
{
using (var dataSpace = dataSpaceFactory.CreateExportedValue())
{
var documentCount = await dataSpace.Query<Document>().CountAsync().PreserveThreadContext();
return documentCount;
}
}
}
Используйте метод Query<TEntity>()
для запроса сущностей, используя LINQ для формирования данных.Однако вы должны убедиться, что базовая инфраструктура понимает используемый вами LINQ.
Используйте CreateEntityAsync<TEntity>() : TEntity
, DeleteEntity(entity)
, FindAsync<TEntity>(id): TEntity
, FindOneAsync<TEntity>(linq_expression)
для создания, удаления,или найдите объект.
Используйте PersistChangesAsync()
для сохранения изменений в памяти в постоянном хранилище.
A DataSpace может содержать несколько DataContexts , причем каждый DataContext отвечает за выделенное хранилище данных.Различение осуществляется по типу сущности.
Каждая реализация DataContext привязана к конкретному хранилищу.По умолчанию Kephas предоставляет адаптер MongoDB, также планируется использовать адаптер Entity Framework.
Особой функцией является интеграция DataBehaviors , которые вызываются при выполнении операций с данными или запросами.
Для получения дополнительной информации, пожалуйста, обратитесь к https://github.com/kephas-software/kephas/wiki/Architecture-of-data-access и аналогичным вики-страницам.