#958 Перенести DD.Persistence.Repository + доработать схему данных #25
No reviewers
Labels
No Label
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: on.nemtina/persistence#25
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "RepositoriesRework"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Необходимо репозитории перетащить в проект с DD.Persistence.Database
@ -0,0 +59,4 @@
// OperationEnum.And,
// new TLeaf(OperationEnum.Equal, "A", 1),
// new TLeaf(OperationEnum.Equal, "B", 1)
//);
Эти комментарии лучше стереть
@ -98,3 +95,4 @@
var resultToMaterialize = new[] { KeyValuePair.Create(discriminatorId, result) }
.ToDictionary();
var dtos = await Materialize(resultToMaterialize, token);
На метод Materialize установить todo, так как его нужно рефакторить
@ -174,0 +185,4 @@
{
var valueString = e.Value.ToString();
if (valueString is null)
А если valueString - пустая строка? Может, лучше использовать String.IsNullOrEmpty?
@ -18,2 +25,4 @@
return services;
}
public static void MapsterSetup()
Добавить TODO с переносом этого метода в другой файл.
Зона ответственности этого файла - регистрация сервисов в DI
@ -0,0 +1,103 @@
//using DD.Persistence.Models;
//using DD.Persistence.Models.Common;
//using DD.Persistence.Repositories;
удалить
@ -12,4 +13,7 @@ public class DataScheme
[Comment("Наименования полей в порядке индексации"), Column(TypeName = "jsonb")]
public string[] PropNames { get; set; } = [];
нормализовать табличку.
добавить свойство индекса, DiscriminatorId и новый индекс == композитный ключ.
каждое свойство каждой модели будет занимать одну строчку в этой табличке.
@ -14,4 +14,9 @@ public class DataSchemeDto
/// Наименования полей
/// </summary>
public string[] PropNames { get; set; } = [];
Стоит завести отдельный класс с описанием свойства (имя и тип), в этом классе схемы хранить словарь этих классов
@ -0,0 +3,4 @@
/// <summary>
/// Типы для набора данных
/// </summary>
public enum PropTypeEnum
см. System.Text.Json.JsonValueKind
Там те типы, которые тебе доступны при получении исходных данных.
нужны не все.
@ -17,0 +34,4 @@
/// <inheritdoc/>
public bool Equals(IEnumerable<SchemePropertyDto>? otherProperties)
{
//if (otherProperties is null)
otherProperties могут быть null, поэтому, может, эти закоментированые строчки нужно раскоментировать?
@ -152,2 +146,2 @@
var systemSpecification = await dataSchemeRepository.Get(discriminatorId, token);
if (systemSpecification is null)
var valuesList = dto.Values.ToList();
var properties = valuesList.ToList().Select(e => new SchemePropertyDto() {
Можно так переписать:
var properties2 = valuesList.Select((e, index) => new SchemePropertyDto()
{
Index = index,
PropertyName = e.Key,
PropertyKind = ((JsonElement)e.Value).ValueKind
});
#958 Перенести DD.Persistence.Repository + доработать схему данныхto WIP: #958 Перенести DD.Persistence.Repository + доработать схему данныхWIP: #958 Перенести DD.Persistence.Repository + доработать схему данныхto #958 Перенести DD.Persistence.Repository + доработать схему данных