1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dotnetchina-Furion

03.03.2025 17:48
GitLife Service Account
  • Новые возможности

    • [Добавлено] Поддержка второй виртуальной директории для развертывания Furion #I28B77
    • [Добавлено] Шаблон Furion.Template.RazorWithWebApi #I28QGI
    • [Добавлено] Шаблон Furion.Template.BlazorWithWebApi #I27Z3O
    • [Добавлено] Расширение временного запроса EFCore #I28AJ
    • [Добавлено] Поддержка конфигурации [AppDbContext(строка_подключения, тип_базы_данных)] #I28QTB
    • [Добавлено] Метод расширения преобразования DateTimeOffset в DateTime #I27MQA
    • [Добавлено] Интеллектуальное предложение регулярных выражений для проверки ValidationTypes #I2801V
    • [Добавлено] Валидация типа данных ValiationTypes.WordWithNumber #I2805
    • [Добавлено] Получение IP адресов клиента и сервера #I28QV9
  • Реформы

    • [Обновление] Обновление версии .NET с 5.0 до 5.0.1 #I28QU
    • [Переработка] Переработка функционала представлений, оптимизация названий и добавление компиляции шаблонов строк #I28G0S
    • [Переработка] Улучшение алгоритма поиска сущностей базы данных и повышение производительности #I28QUQ
    • [Оптимизация] Оптимизация производительности запуска приложения и первоначального автоматического конфигурирования DbSet
  • Исправления ошибок

    • [Исправлено] Проблема с генерацией сущностей после настройки локатора для нескольких контекстов базы данных #I2888L
    • [Исправлено] Проблема с генерацией сущностей для многопользовательской базы данных #I2891G
    • [Исправлено] Проблема с сообщением об ошибке объекта, которое не применяется к JSON #I27UTX
    • [Исправлено] Проблема с методами Insert или Update, когда игнорируются значения NULL #I27UN6
    • [Исправлено] Проблема с отображением контроллеров с атрибутом [Route] в Swagger #I27TN7
    • [Исправлено] Проблема с выполнением SQL запросов и возвратом Nullable значений #I27S2N
    • [Исправлено] Проблема с атрибутом [UnitOfWork] #I27MLM
    • [Исправлено] Проблема с мониторингом состояния соединения базы данных при использовании статических и продвинутых способов выполнения SQL #I27M4F
    • [Исправлено] Проблема с заменой библиотеки сериализации JSON #I27M43
    • [Исправлено] Проблема с генерацией моделей инструментом Furion Tools #I27XI5
    • [Исправлено] Проблема с мягким удалением #I2804I
    • [Исправлено] Проблема с распознаванием строк подключения с несколькими \ инструментом Furion Tools #I280TS, #PR91
    • [Исправлено] Проблема с отменой генерации инструментом Furion Tools #I2816M
    • [Исправлено] Проблема с преобразованием DateTimeOffset в местное время с отклонением на 8 часов #I28BA9
    • [Исправлено] Проблема с запуском приложения после активации сжатия JS & CSS #I28KR
    • [Исправлено] Проблема с невалидностью ValidationTypes.Required #PR98
    • [Исправлено] Проблема с правильностью названия параметра OnValidateFailed #PR93, #PR92
    • [Исправлено] Проблема с отображением результата при провале авторизации #PR89
  • Другие изменения

    • [Обновлено] Добавлены дружественные ссылки в README.md #PR88
    • [Обновлено] Обновлены исходники шаблонов, добавлен пакет EFCore Tools #PR87
    • [Обновлено] Обновлены иконки NuGet в README.md #PR85
    • [Устарело] Удалено преобразование List<T> в DataTable #PR97
  • Изменения в документации

    • [Добавлено] Документация по шаблонам представлений #I27ZVA
    • [Добавлено] Документация по временным запросам EFCore #I28AJ, DOC
    • [Обновлено] Исправлены ошибки в документации по репозиториям #PR90
    • [Обновлено] Исправлены ошибки в документации по опциям #PR86
    • [Обновлено] Исправлены ошибки в документации по слушателям сущностей #PR83
    • [Обновлено] Обновлены документации по контексту базы данных, многим базам данных, шаблонам и другим
  • Ответы на вопросы

    • [Предложение] Автоматическое преобразование null в '' или [] в ответах API #I286IJ, 【Закрыто】
    • [Предложение] Добавление функции шлюза #I27TP7, 【Закрыто】
    • [Предложение] Добавление метода получения одной записи SqlQuery<T> #I28M1V, 【Закрыто】
    • [Предложение] Предоставление примера интеграции Serilog #I282J4, 【Закрыто】
    • [Вопрос] Как настроить уникальное ограничение через атрибут #I2891L, 【Закрыто】
    • [Вопрос] Как читать массив в appsettings.json #I27WU, 【Закрыто】
    • [Вопрос] Проблема с пустым исключением IRepository<TEntity> #I281IE, 【Закрыто】
    • [Вопрос] Проблема с нормализацией интерфейсов #I28NMZ, 【Закрыто】
    • [Вопрос] Проблема с выполнением OnResponseStatusCodes в модели возвращаемого значения #I28NNL, 【Закрыто】
Последнее сообщение коммита: 🥯 update documents.
03.03.2025 17:45
GitLife Service Account
  • Новые возможности

    • [Добавлено] Алгоритм снежинок #I26OXG, #PR78
    • [Добавлено] Поддержка конфигурации провайдера базы данных для [AppDbContext] #I27G3T
    • [Добавлено] Интерфейс слушателя изменения данных таблицы IEntityDataChangedListener #I278DD, #I278LQ
    • [Добавлено] Глобальная функциональность AOP-интерцептора для интерфейсов службы #I278CP
    • [Добавлено] Реализация хранилища локатора базы данных IDbRepository<TDbContextLocator> #I276Q3
    • [Добавлено] Поддержка исключения пустых строк в методе InsertOrUpdate операций с базой данных #I272OG
    • [Добавлено] Поддержка анонимных объектов в методах UpdateInclude и UpdateExclude операций с базой данных #I271X0
    • [Добавлено] Поддержка пропуска проверки при передаче пустого объекта для валидации данных #I273R4
    • [Добавлено] Возможность исключения определённых конфигурационных файлов при автоматической загрузке при запуске приложения #I26U0A
    • [Добавлено] Поддержка префикса имени таблицы для отдельной сущности #I26LX0
    • [Добавлено] Автоматическая конфигурация версий по умолчанию для базы данных MySQL #I26XQ6
    • [Улучшено] Код обработчика авторизации
  • Разрушительные изменения

    • [Добавлено] Интерфейс слушателя изменения данных таблицы IEntityDataChangedListener #I278DD, #I278LQ
    • [Добавлено] Глобальная функциональность AOP-интерцептора для интерфейсов службы #I278CP
    • [Добавлено] Алгоритм снежинок #I26OXG, #PR78
  • Исправление ошибок

    • [Исправлено] Ошибка при загрузке внешних сборок в движке представлений
    • [Исправлено] Ошибка при использовании интерфейса агента внедрения зависимостей
    • [Исправлено] Ошибка при отмене связи сущностей EFCore
    • [Исправлено] Ошибка при работе с хранилищами базы данных вне запросов Web
    • [Исправлено] Неправильное поведение при совместном использовании нескольких политик авторизации
    • [Исправлено] Ошибка при использовании дружественного исключения Oop.Oh для обычных методов
    • [Исправлено] Ошибка при получении многопользовательских объектов при выполнении проверки области действия контекста базы данных
    • [Исправлено] Ошибка при использовании работы с единицами транзакций для SQL-агентов #I27GST
  • Другие изменения

  • Изменения в документации

    • [Добавлено] Документация по слушателю событий данных
    • [Обновлено] Минутное руководство, запуск приложений, официальный шаблон, руководства по работе с базой данных, отображению объектов, нормализации, обработке исключений, управлению доступом и авторизации
Последнее сообщение коммита: 🎗 close #I27GST
03.03.2025 17:44
GitLife Service Account
  • Новые возможности

    • [Добавлено] метод Db.GetDbContext() для получения контекста базы данных по умолчанию
    • [Добавлено] метод HttpContextUtility.GetCurrentHttpContext() для получения глобального контекста HttpContext
    • [Добавлено] метод App.GetRequiredService<> для разрешения служб
    • [Добавлено] расширение метода object.GetService<>
    • [Добавлено] базовый класс метод PolicyPipeline для стратегий авторизации с поддержкой множественного условия
    • [Добавлено] статический метод JWTEncryption.ValidateJwtBearerToken для ручной проверки JWT
    • [Добавлено] глобальные конфигурации для InsertOrUpdateIgnoreNullValues и EnabledEntityStateTracked в глобальном контексте базы данных
    • [Добавлено] глобальный параметр аутентификации Swagger JWT #I26GLR
    • [Добавлено] возможность использования пользовательских условий для метода InsertOrUpdate #I269Q1
    • [Добавлено] поддержка нижнего регистра для строковых полей #I2695D
    • [Добавлено] функционал сравнения строковых значений #I268LE
    • [Добавлено] глобальное сообщение ошибки при возникновении исключений #I2662O
    • [Добавлено] возможность игнорировать пустые значения при выполнении операций Insert или Update #I264Q4
  • Критические изменения

    • [Изменено] имя проекта Fur заменено на Furion
    • [Изменено] имя метода Db.GetRequestDbContext<>() заменено на Db.GetDbContext<>()
    • [Изменено] имя метода Db.GetDbContext<>() заменено на Db.GetDuplicateDbContext<>()
    • [Переработано] логика разрешения служб метода App.GetService<>, что значительно повысило производительность
    • [Переработано] основной код авторизации для обеспечения согласованности с Microsoft #I26DCB
    • [Удалено] метод App.GetRequestService<>
    • [Удалено] метод ValidateJwtBearer для проверки JWT, теперь не требуется ручное управление
  • Исправления ошибок

    • [Исправлено] баг с компиляцией после генерации шаблонов Furion
    • [Исправлено] баг с отсутствием модификатора virtual для встроенных свойств Tenant
    • [Исправлено] баг с неправильной сборкой нового имени файла dockerfile
    • [Исправлено] баг с возникновением ошибки 403 при использовании пользовательской роли авторизации вместе с несколькими авторизациями #I26H1L
    • [Исправлено] баг с пустым исключением при вызове httpContext.GetEndpoint() #PR73
    • [Исправлено] баг с пустыми исключениями и неподдерживаемыми сервисами при вызове Oops.Oh #I26EFU, #I26GM4
    • [Исправлено] баг с некорректной кодировкой сгенерированного файла cli.ps #I26DVT
    • [Исправлено] баг с невидимой кнопкой загрузки файлов Swagger #I26B6U
    • [Исправлено] проблема с различием регистра при сериализации состояния кода ответа #I26B26
    • [Исправлено] баг с появлением кракозябр при отсутствии активации нормализации результата #I268T5
    • [Исправлено] баг с невозможностью захвата асинхронных исключений в MySQL #I265SO
    • [Исправлено] баг с сообщением об отсутствии строки подключения к базе данных при запуске cli.ps1 #I2647U
  • Другие изменения

  • Изменения в документации

    • [Обновлено] документация "Минута входа", "Безопасность и аутентификация", "База данных" и другие документы
Последнее сообщение коммита: 🧔 close #I26GM4, close #I26GLR.
03.03.2025 17:43
GitLife Service Account
  • Новые возможности

    • [Добавлено] MVC шаблонный скелет: Fur.Template.Mvc
    • [Добавлено] Шаблон WebApi: Fur.Template.Api
    • [Добавлено] Шаблоны MVC/WebApi: Fur.Template.App
    • [Добавлено] Шаблон Razor Pages: Fur.Template.Razor
    • [Добавлено] Шаблон Blazor: Fur.Template.Blazor
  • Критические изменения

    • [Изменено] PagedList перемещён в пространство имён System.Collections.Generic
    • [Улучшено] Оптимизация производительности сервиса парсинга, значительная оптимизация базового кода
  • Исправление ошибок

    • [Исправлено] Проблема с неверной работой ApiSears.ControllerEnd баг #I25KH6
    • [Исправлено] Проблема с регистром атрибута сериализации завершенного запроса RemoteRequest баг #I25I8R
    • [Исправлено] Проблема с пустым исключением при вызове метода HttpContext.GetEndpoint() баг #PR73
  • Другие изменения

    • Отсутствуют
  • Изменение документации

    • [Обновлено] Документация по началу работы, документация по контексту базы данных, документация по работе с несколькими базами данных
Последнее сообщение коммита: 🥱 fixed #PR73.
03.03.2025 17:42
GitLife Service Account
  • Новые возможности

    • [Добавлено] Конфигурация пакета Pomelo.EntityFrameworkCore.MySql для последней версии .NET 5 #I24ZQK
    • [Добавлено] Настройка сериализации времени с помощью метода .AddDateTimeJsonConverter(формат)
    • [Добавлено] Настройка формата сериализации типов DateTime и DateTimeOffset #I253FI
  • Разрушительные изменения

    • [Обновлено] Обновление пакета Mapster до версии 7.0.0
    • [Изменено] Переименование App.Services в App.ServiceProvider
    • [Удалено] Удаление App.ApplicationServices и App.GetRequestService<>()
    • [Удалено] Удаление расширений внедрения зависимостей для небезопасных хостов
  • Исправления ошибок

    • [Исправлено] Ошибка отсутствия конфигурации внедрения зависимости при использовании services.AddFriendlyException()
    • [Исправлено] Ошибка освобождения пула контекста базы данных и переполнения памяти при высокой нагрузке #I2524K, #I24UMN
    • [Исправлено] Ошибка при работе с SQL-агентом, когда он возвращает пустые данные #I24TCK
    • [Исправлено] Ошибка освобождения нескольких баз данных при использовании атрибута [UnitOfWork] #I24Q6W
  • Другие изменения

    • [Изменено] Все свойства классов EntityBase и Entity сделаны виртуальными
    • [Оптимизация] Улучшение производительности чтения и парсинга JWT
    • [Оптимизация] Поддержка новых синтаксических конструкций C# 9.0
    • [Оптимизация] Улучшение производительности шифрования MD5 #PR71
    • [Удалено] Удаление ненужного или неиспользуемого кода
  • Документация

    • [Обновлено] Документация по контексту базы данных, многим базам данных и быстрому началу работы с проектом
Последнее сообщение коммита: 🤗 adjust entitybase property to virtual
03.03.2025 17:42
GitLife Service Account
  • Новые возможности

    • [Добавлено] Компонент сетевых запросов RemoteRequest #I1YYWD
    • [Добавлено] Внедрение с помощью метода .AddInjectBase(), которое включает только базовое внедрение служб
    • [Добавлено] Поддержка всех сервисов для внедрения через IServiceCollection и IMvcBuilder
    • [Добавлено] Возможность установки кода состояния при выбросе исключения StatusCode
    • [Добавлено] Поддержка сериализации Swagger с использованием названия свойств PascalCase
  • Разрушительные изменения

    • [Обновлено] Все пакеты теперь поддерживают .NET 5 RTM версию
  • Исправление ошибок

    • [Исправлено] Ошибка асинхронной обработки в прокси SqlProxy
    • [Исправлено] Ошибка преобразования типа данных Datetime в DateTimeOffset
    • [Исправлено] Ошибка сериализации при различии регистра первого символа свойства
    • [Исправлено] Ошибка отображения кракозябр вместо корректного отображения кириллицы при сериализации объекта
    • [Исправлено] Некорректная работа по умолчанию конфигурации сериализации
    • [Исправлено] Некорректная работа при отправке контекста базы данных без использования DI
    • [Исправлено] Ошибка при отправке всех контекстов DbContext в пуле приложений
    • [Исправлено] Ошибка представления типа longtext для строки Tenant в MySQL
    • [Исправлено] Ошибка автоматической проверки MVC при пустых значениях строковых полей #I24M2T
    • [Исправлено] Проблема с перезаписью аннотаций для перечислений #I24N6J
    • [Исправлено] Проблема с игнорированием нормализованного результата #I24B8P
    • [Исправлено] Ошибка по умолчанию ContentType Swagger, который не является application/json #I24F3U
    • [Исправлено] Конфликт между встроенными System.Text.Json и Newtonsoft.Json #I24F3U
  • Другие изменения

    • [Изменено] Доменное имя фреймворка Fur: https://furos.cn
    • [Изменено] Переопределены интерфейсы FromSqlRaw и FromSqlInterpolated для хранилища
    • [Улучшено] Улучшение производительности шифрования и расшифровки данных, #PR70
  • Документация

    • [Обновлено] README.md, описание фреймворка, контексты базы данных, опции конфигурации, многопользовательская система, документация CORS
Последнее сообщение коммита: 🍸 update documents.
Предпросмотр версии
03.03.2025 17:41
GitLife Service Account
  • Новые возможности

    • [Добавлено] .AddInjectBase() и .UseInjectBase() для регистрации сервисов; эти сервисы и middleware не включают документацию Swagger
    • [Добавлено] [NonUnify] атрибут, поддерживающий конфигурацию пропуска нормализованной обработки Action
  • Критические изменения

    • [Изменено] Пространство имён [DataValidation] переименовано в System.ComponentModel.DataAnnotations, чтобы соответствовать Microsoft
    • [Изменено] Пространство имён [NonValidation] переименовано в Microsoft.AspNetCore.Mvc, чтобы соответствовать Microsoft
    • [Изменено] Пространство имён [ApiDescriptionSettings] переименовано в Microsoft.AspNetCore.Mvc, чтобы соответствовать Microsoft
    • [Изменено] Пространство имён [ApiSeat] переименовано в Microsoft.AspNetCore.Mvc, чтобы соответствовать Microsoft
    • [Изменено] Пространство имён [UnifyResult] переименовано в Microsoft.AspNetCore.Mvc, чтобы соответствовать Microsoft
  • Исправление ошибок

    • [Исправлено] Ошибка при работе с [UnitOfWork] в многопоточной среде
    • [Исправлено] Недействие глобальной конфигурации KeepVerb для динамического WebAPI
    • [Исправлено] Ошибка удаления специфических суффиксов для динамического WebAPI
    • [Исправлено] Недействие конфигурации [ProduceResponseTypes] для нормализованного ответа #I24B8P
  • Другие изменения

  • Документация

    • Отсутствует
Последнее сообщение коммита: 🐾 break changes and close #I24B8P.
Предпросмотр версии
03.03.2025 17:41
GitLife Service Account
  • Новые возможности

    • [Добавлено] Дружественная система конфигурирования исключений, поддерживающая настройку отображения статусных кодов и ошибок по умолчанию #I22U5I
    • [Добавлено] Поддержка горячей перезагрузки конфигурационных файлов вне уровня запуска проекта #I2446X
    • [Добавлено] Возможность передачи дополнительных данных при нормализованной передаче результата #I23WGK, #I2419S
    • [Добавлено] Поддержка провайдера конфигураций, например, загрузки из базы данных #I240W7
    • [Добавлено] Программная сборка Fur.Extras.DependencyModel.CodeAnalysis, обеспечивающая сканирование и динамическое компилирование
    • [Добавлено] Возможность добавления дополнительных данных в расширенные результаты Extras: UnifyResultContext.Fill(extras) и UnifyResultContext.Take()
    • [Добавлено] Расширение параметров конфигурирования при регистрации контекста базы данных, например: services.AddDb<FurDbContext>(DbProvider.Sqlite, options => { })
  • Критические изменения

    • [Удалено] Внешний пакет MiniProfiler.EntityFramework, теперь аналогичная функциональность предоставляется внутренне
    • [Изменено] По умолчанию все запросы выполняются как отслеживаемые запросы
  • Исправление проблем

    • [Исправлено] Ошибка многопоточной работы с единицами транзакций #I242HT
    • [Исправлено] Ошибка отсутствия отображения кода состояния 500 при выключенном режиме нормализации результата
    • [Исправлено] Ошибка выбрасывания пустого исключения при отсутствии определенного сообщения в дружественном исключении
    • [Исправлено] Недействие Interceptor в EntityFrameworkCore
    • [Исправлено] Ошибка отображения кракозябр вместо кириллицы при сериализации
    • [Исправлено] Ошибка отсутствия сканирования типов сущностей после вторичного наследования от пользовательских базовых классов Entity и EntityBase
    • [Исправлено] Ошибка невозможности слушания пользовательского конфигурационного файла
  • Другие изменения

  • Документация

    • [Обновлено] Документация по динамическим контроллерам API и вариантам конфигурации
Последнее сообщение коммита: 🧯 update documents and publish new version.
Предпросмотр версии
03.03.2025 17:40
GitLife Service Account
  • Новые возможности

    • [Добавлено] Возможность свободной смены нескольких переменных окружения в конфигурационном файле #I23OMI
    • [Добавлено] Поддержка возврата модели с пользовательским HTTP-кодом состояния при нормализованном ответе #I23WCK
    • [Добавлено] Расширение класса object.Validate(), которое автоматически выбрасывает информацию об ошибке
    • [Добавлено] Расширение метода DataValidationResult.ThrowIf, упрощающее обработку исключений
    • [Добавлено] Расширение метода AuthorizationHandlerContext.ValidateJwtBearer, упрощающее проверку JWT и чтение данных
  • Разрушительные изменения

    • [Добавлено] Возможность свободной смены нескольких переменных окружения в конфигурационном файле #I23OMI
    • [Добавлено] Поддержка возврата модели с пользовательским HTTP-кодом состояния при нормализованном ответе #I23WCK
  • Исправление проблем

    • [Исправлено] Ошибка отображения кода состояния 500 при возникновении исключения верификации
    • [Исправлено] Ошибка [AppAuthorize], возникающая при отсутствии передачи обработчика авторизации
  • Другие изменения

    • [Изменено] Ядро кода RESTfulResultProvider
    • [Изменено] По умолчанию теперь разрешены все источники CORS, то есть нет необходимости указывать WithOrigins для настройки взаимодействия клиентского и серверного кода
  • Документация

    • [Обновлено] Нормализированная документация, документация по динамическим Web API, документация по CORS, документация по авторизации #PR68
Последнее сообщение коммита: 🗼 update docker image.
Предпросмотр версии
03.03.2025 17:39
GitLife Service Account
  • Новые возможности

    • [Добавлено] Нормализованная документация, дружественные исключения, метод внедрения динамического WebApi сервиса
    • [Добавлено] Расширение методов быстрого получения Token с помощью HttpContext и IHttpContextAccessor
    • [Добавлено] Поддержка множественного аутентификационного авторизации через Jwt, Cookie и другие #I23IM0
    • [Добавлено] Нормализованная документация списка серверов
    • [Добавлено] Поддержка свойства Description в перечислении Swagger
  • Критические изменения

    • [Удалено] Расширение пакета Newtonsoft.Json, теперь используется стандартный System.Text.Json
    • [Переработано] Нормализованная документация, теперь более гибкая и простая
    • [Изменено] Переименование расширения AddJWTAuthorization в AddJwt
  • Исправление ошибок

    • [Исправлено] Ошибка с исключением папки расширений packages из .gitignore
    • [Исправлено] Ошибка работы единицы транзакций UnitOfWork
    • [Исправлено] Ошибка дружественного исключения Oops
    • [Исправлено] Ошибка выполнения нормализованной операции OnSuccessed при возникновении исключения программы
    • [Исправлено] Ошибка повторного вывода SQL-запроса #I233NC
  • Другие изменения

    • [Другое] Улучшение качества кода и небольшие улучшения производительности
  • Документация

    • [Обновлено] Документация SaaS, нормализованная документация, конфигурация и другие документы #PR66
Последнее сообщение коммита: 🍱 update docuemtns.
Предпросмотр версии
03.03.2025 17:39
GitLife Service Account
  • Новые возможности

    • [Добавлено] Официальный пакет Fur.Extras.Authentication.JwtBearer для работы с JWT
    • [Добавлено] Расширение распределенного кэша #PR63
    • [Добавлено] Метод сервисной регистрации с унифицированным результатом .AddInjectWithUnifyResult()
    • [Добавлено] Методы repository.GetService<>() и repository.GetRequestService<>() #I235L3
    • [Добавлено] Механизм загрузки официальных пакетов Fur
    • [Добавлено] Файлы комментариев NuGet и аватары
  • Разработки

    • [Добавлено] Поддержка умного анализа Swagger Schemas, генерация полного типа возврата Schema #PR65
    • [Изменено] Параметр JObject для генерации JWT Token заменён на тип Dictionary<string, object>
    • [Удалено] Удалены опции JwtSettingsOptions из проекта Fur, перемещены в пакет Fur.Extras.Authentication.JwtBearer
  • Исправление ошибок

    • [Исправлено] Ошибка многократного логгирования при выполнении SQL запросов #I233NC
    • [Исправлено] Ошибка отсутствия открытого адаптера PgSql #PR64
    • [Исправлено] Ошибка названий групп на китайском языке в Swagger
  • Другие изменения

    • [Изменено] Упрощена начальная конфигурация
    • [Удалено] Официальное расширение пакета Microsoft.AspNetCore.Authentication.JwtBearer
    • [Оптимизация] Улучшена производительность запуска проекта
  • Документация

    • [Обновлено] Документация по авторизации, быстрому началу работы и конфигурации
Последнее сообщение коммита: 🥩 update documents.
Предпросмотр версии
03.03.2025 17:38
GitLife Service Account
  • Новые возможности

    • [Добавлено] использование консольной библиотеки Fur, которая больше не ограничена Web
    • [Добавлено] поддержка конфигурационных файлов .ini
    • [Добавлено] методы чтения только для чтения FirstOrDefaultAsync, SingleOrDefaultAsync, LastOrDefaultAsync в хранилище #I22PAD
    • [Добавлено] нормализация документации Swagger Schemas с использованием атрибута [UnifyResult(тип_возврата)], что решает проблему отсутствия генерации типа данных Data #I22VKZ
  • Критические изменения

    • [Изменено] переименование App.HostEnvironment в App.WebHostEnvironment
    • [Переработано] реализация паттерна работы с единицей транзакций UnitOfWork, теперь требуется явное указание [UnitOfWork] вместо автоматического использования
    • [Удалено] удаление атрибута [NonTransact]
  • Исправление ошибок

    • [Исправлено] исправление ошибки получения хранилища и контекста при работе вне Web приложения через статический класс Db
    • [Исправлено] исправление неверного типа данных DateTime для мульти-tenant времени, заменено на DateTimeOffset #PR60
  • Другие изменения

    • [Добавлено] пример конфигурации строки подключения к базе данных mysql
    • [Удалено] удаление отображения кода ошибки в дружественном сообщении Oops #I22U5I
    • [Другое] внутренняя оптимизация кода
  • Документация

    • [Обновлено] обновление руководства по быстрому началу работы, конфигурационных файлов, единицы транзакций, нормализованного API и динамического WebAPI #PR59
Последнее сообщение коммита: 🌮 update documents.
Предпросмотр версии
03.03.2025 17:38
GitLife Service Account
  • Новые возможности

    • [Добавлено] Поддержка пользовательских таблиц/типов в многопользовательской системе
  • Критические изменения

    • [Изменено] Тип получения TenantId в многопользовательской системе с таблицами изменён с Guid на object
    • [Изменено] Метод глобального фильтра запросов для многопользовательской системы теперь принимает только один параметр dbContext
    • [Изменено] Пространство имён расширений LINQ полностью перемещено в System.Linq, чтобы соответствовать стандартам Microsoft
  • Устранение ошибок

    • [Исправлено] Ошибка при получении маршрута конечной точки при использовании глобальной политики авторизации
    • [Исправлено] Ошибка при внедрении методов сторонних сервисов в AppStartup
    • [Исправлено] Ошибка выброса исключения при отсутствии регистрации контекста многопользовательской системы
    • [Исправлено] Ошибка работы движка представлений на операционной системе Linux
  • Другие изменения

    • [Удалено] Все атрибуты конфигурирования [OptionsSettings]
    • [Изменено] Класс определения имени сборки миграций перемещён в Db.cs
    • [Обновлено] Библиотека Mapster до последней версии, исправлены несколько ошибок
  • Документация

    • [Добавлено] Документация по CORS
    • [Обновлено] Документация по многопользовательской системе, контексту базы данных, конфигурациям
Последнее сообщение коммита: 🏕 update docker images.
Предпросмотр версии
03.03.2025 17:37
GitLife Service Account
  • Новые возможности

    • [Добавлено] Поддержка инструментов Code First и Database First в Visual Studio Code
    • [Добавлено] Демонстрационный пример использования RBAC
    • [Добавлено] Поле для электронной почты и номера телефона для типа арендатора
    • [Добавлено] Параметр UserInject(routeFix), который позволяет конфигурировать страницу по умолчанию для API в программе
    • [Добавлено] Глобальная конфигурация KeepName для нормализованной документации
    • [Добавлено] Конфигурация глобального фильтра прав доступа
  • Критические изменения

    • [Удалено] Ограничение типов значений первичного ключа сущностей
    • [Изменено] Переименование AuthorizePolicy в AppAuthorize
  • Исправление ошибок

    • [Исправлено] Ошибка получения строки подключения к базе данных (#PR51)
    • [Исправлено] Ошибка логического удаления (#PR55)
    • [Исправлено] Ошибка атрибута прокси-интерцептора (#PR56)
    • [Исправлено] Ошибка, при которой методы родительского класса не наследуются в нормализованной документации
    • [Исправлено] Ошибка отсутствия проверки активации MiniProfiler при создании объекта команды создания базы данных
    • [Исправлено] Ошибка времени запуска работы единицы
    • [Исправлено] Ошибка маршрута конечной точки получения прав доступа равна null
    • [Исправлено] Ошибка дружественного исключения Oop.Oh
    • [Исправлено] Ошибка пустого контекста авторизации DefaultHttpContext
  • Другие изменения

    Отсутствуют

  • Документация

    • [Изменено] Документация быстрого старта, контексты баз данных, многоконтекстные базы данных, запуск приложения
    • [Исправлено] Ошибки в нескольких документах (#PR52, #PR53, #PR57, #PR58)
Последнее сообщение коммита: ✔ update documents.
Предпросмотр версии
03.03.2025 17:36
GitLife Service Account
  • Новые возможности

    • [Добавлено] Поддержка глобальной конфигурации с сохранением имени по умолчанию
  • Разрушительные изменения

    • [Изменено] Способ конфигурирования всех настраиваемых опций был изменён; теперь они конфигурируются непосредственно, а не через корневой узел AppSettings. Включает конфигурацию проверки, исключений, динамического веб-интерфейса, нормализованной документации, прав доступа и других.
  • Устранение ошибок

    • [Исправлено] Swagger сканирует файлы аннотаций, содержащие Fur.xml
    • [Исправлено] Ошибка при работе с дружественным исключением Oops.Oh, которое не может быть захвачено в вложенной методе
    • [Исправлено] Ошибка обработки распределенного транзакта UnitOfWork
    • [Исправлено] Ошибка чтения строки подключения ключа key (#PR51)
    • [Исправлено] Ошибка получения родительского метода в нормализованной документации (#PR54)
    • [Исправлено] Ошибка работы с фиктивным удалением FakeDelete
  • Другие изменения

    • [Изменено] Все внутренние типы DateTime были заменены на DateTimeOffset
  • Документация

    • [Обновлено] Документация по первому созданию кода, транзакциям, контексту базы данных, кэшированию и нормализованной документации (#PR52, #PR53)
Последнее сообщение коммита: 👻 fixed so much bug.
Предпросмотр версии
03.03.2025 17:36
GitLife Service Account
  • Новые возможности

    • [Добавлено] Пример совместной работы MVC и WebAPI
    • [Добавлено] Фильтр Swagger для перечисления моделей (#PR39)
  • Разрушительные изменения

    • [Удалено] Настройка общего пакета .csproj за пределами основного слоя Fur
    • [Изменено] По умолчанию Swagger использует адрес /api/index.html вместо /index.html для решения проблемы совместной работы MVC и WebAPI
    • [Добавлено] Автоматическое сканирование файлов с аннотациями в сборках Swagger (#PR48)
  • Исправление ошибок

    • [Исправлено] Ошибочное значение возвращаемого значения Include хранилища (#PR37)
    • [Исправлено] Ошибка отображения контроллеров Mvc в Swagger
    • [Исправлено] Ошибка при использовании пользовательского ключа первичного ключа сущностей (#PR48)
  • Другие изменения

    • [Обновлено] Все зависимости Fur обновлены до .NET 5 rc2
    • [Оптимизация] Улучшение производительности запуска Fur
  • Документация

    • [Добавлено] Документация по маппингу объектов
    • [Обновлено] Документация по проекту, SaaS, опциям, DbFirst
    • [Исправлено] Исправление ошибок в документах (#PR33, #PR34, #PR35, #PR36, #PR40)
  • Специальные благодарности

    Благодарность за предоставленные полезные исправления ошибок и улучшения функциональности от https://gitee.com/vincywindy (#PR37, #PR39).

Последнее сообщение коммита: 😜 update .net 5 rc2 final.
Предпросмотр версии
03.03.2025 17:35
GitLife Service Account
  • Новые возможности

    • [Добавлено] Включено использование метода расширения проекта при быстром конфигурировании и включении проекта расширения
    • [Добавлено] Конфигурация глобального фильтра авторизации
    • [Добавлено] Пример демонстрации проверки JWT-токена
    • [Добавлено] Управление Fur через платформу NuGet
    • [Добавлено] Параметр -UseDatabaseNames в Fur.Tools CLI, поддерживающий установку имени таблицы и столбцов в соответствии с базой данных
    • [Добавлено] Файл Dockerfile сборки (#PR32)
    • [Добавлено] Skript DevOps
  • Разрушительные изменения

    • [Изменено] Переименование свойства ServicesProvider до Services в интерфейсе IDispatchProxy
    • [Изменено] Перемещение всех методов работы с базами данных из класса App в класс Db
    • [Удалено] Класс EFCoreErrorCodes для настройки ошибок
  • Исправления ошибок

    • [Исправлено] Ошибка в ссылках пакета Fur.Web.Core
    • [Исправлено] Ошибка в загрузке конфигурационного файла в Fur.Tools
    • [Исправлено] Ошибка отсутствия launchUrl в файле launchSettings.json проекта Fur.Web.Entry (#PR29)
    • [Исправлено] Ошибка в проверке JWT-токена
  • Другие изменения

    • [Изменено] Оптимизация кода для подготовки независимых пакетов NuGet
  • Документация

    • [Добавлено] Документация по применению проекта
    • [Добавлено] Документация по перехватчику SaveChanges для базы данных
    • [Обновлено] Документация по подходу Database First для базы данных
    • [Исправлено] Исправление ошибок в документах (#PR30, #PR31)
Последнее сообщение коммита: 🥁 update documents.
Предпросмотр версии
03.03.2025 17:35
GitLife Service Account
  • Новые возможности

    • [Добавлено] Унифицированный интерфейс внедрения зависимостей, автоматическое распознавание негенериков и генериков для регистрации
    • [Добавлено] Динамический прокси для внедрения зависимостей
    • [Добавлено] Поддержка конфигурационной вставки через appsettings.json
    • [Добавлено] Динамическая загрузка внешних сборок и внедрение, реализация функции горячего подключения плагинов
    • [Добавлено] Динамический прокси для интерфейсов
    • [Добавлено] Примеры использования AOP и многостандартного подхода
  • Разрушительные изменения

    • [Изменено] Отмена автоматической загрузки ссылочных сборок, теперь требуется вручную активировать, установив значение AppSettings:EnabledReferenceAssemblyScan равным true
    • [Изменено] Изменение имени свойства ServiceProvider для динамического прокси на Services
  • Устранение ошибок

    • [Исправлено] Ошибка множественного сканирования при регистрации сервисов внедрения зависимостей, что существенно влияло на производительность
    • [Исправлено] Ошибка расширения функционала разделённых таблиц и баз данных
  • Другие изменения

    • [Удалено] Генериковый интерфейс внедрения зависимостей, теперь используется автоматическое распознавание
    • [Оптимизация] Улучшение производительности при загрузке конфигурационных файлов
  • Документация

    • [Добавлено] Документация по запуску приложения
    • [Добавлено] Документация по многостандартному подходу
    • [Исправлено] Исправление опечаток в документации (#PR24, #PR25, #PR27, #PR28)
Последнее сообщение коммита: 🎀 update documents.
Предпросмотр версии
03.03.2025 17:34
GitLife Service Account
  • Новые возможности

    • [Добавлено] метод реализации конвейера запросов AppStartup
    • [Добавлено] свойство AppDbContext.Tenant и выражение AppDbContext.TenantIdQueryFilterExpression
    • [Добавлено] свойство IRepository.Tenant
    • [Добавлено] методы App.GetService и App.GetRequestService
    • [Добавлено] метод IWebHostBuilder.Inject(), поддерживающий автоматическую вставку основного кода Fur
    • [Добавлено] возможность переопределения имени сборки миграций кода, спасибо @1024 #I1XH6Q
  • Разрушительные изменения

    • [Изменено] проект Fur.Web.Entry теперь зависит только от проекта Fur.Web.Core
    • [Изменено] имя атрибута DbContextAttribute заменено на AppDbContextAttribute
    • [Изменено] имя атрибута StartupAttribute заменено на AppStartupAttribute
    • [Изменено] имя свойства App.Services заменено на App.InternalServices
    • [Изменено] имя свойства App.TransientServices заменено на App.Services
    • [Удалено] реализация пользовательского провайдера многоучастников, используется новое зависящее от AppDbContext решение
    • [Удалено] все пакеты с типами баз данных из основной части Fur, оставлен единственный общий пакет Microsoft.EntityFrameworkCore.Relational
    • [Удалено] зависимость от пакета SqlServer
  • Исправление ошибок

    • [Исправлено] баг при сканировании типов в AppDbContextBuilder
    • [Исправлено] баг при конфигурировании многоучастников в AppDbContextBuilder
    • [Исправлено] баг при формировании динамических строк подключения к базам данных для многоучастников на основе схемы Database
    • [Исправлено] баг при генерации моделей многоучастников на основе метода Schema
    • [Исправлено] баг при управлении транзакциями в работе с единой единицей
  • Другие изменения

    • [Изменено] код файла Program.cs
    • [Изменено] код файла Startup.cs проекта Fur.Web.Entry перемещён в слой Fur.Web.Core
  • Документация

    • [Добавлено] полная документация по многоучастникам
    • [Добавлено] документация по запуску приложения
    • [Изменено] документация по контексту базы данных, многим контекстам базы данных, быстрому началу работы
Последнее сообщение коммита: 🥼 update documents.
Предпросмотр версии
03.03.2025 17:33
GitLife Service Account
  • Новые возможности

    • [Добавлено] Поддержка баз данных Firebird
    • [Добавлено] Поддержка баз данных DM
    • [Добавлено] Методы App.GetService<T> и App.GetRequiredService<T>
    • [Добавлено] Методы App.GetTransientDbContext<TDbContextLocator> и App.GetScopedDbContext<TDbContextLocator>
    • [Добавлено] Атрибут TenantId в классе AppDbContext и метод TenantIdQueryFilterExpression
    • [Добавлено] Делегат для разрешения временного контекста базы данных
  • Разрушительные изменения

    • [Изменено] Атрибут [DbContext] заменён на [AppDbContext], чтобы избежать конфликта с DbContext из EF Core
    • [Изменено] Код модели многопользовательской системы
    • [Изменено] Реализация провайдера многопользовательской системы SaaS
    • [Удалено] Класс конфигурационных опций баз данных DatabaseAccessorSettingsOptions.cs
    • [Удалено] По умолчанию удалены зависимости NuGet для SQL Server
  • Исправление ошибок

    • [Исправлено] Ошибка сканирования типов контекста баз данных в AppDbContextBuilder
    • [Исправлено] Пропущенный метод FakeDelete в расширении IEntityWithDbContextLocatorExtensions
  • Другие изменения

    • [Изменено] Код файла App.cs
    • [Изменено] Нормы названий зависимостей интерфейсов
  • Документация

    • [Добавлено] Документация по многопользовательским системам
    • [Изменено] Обновлены документы "Быстрый старт", хранимых процедур, функций, работы с несколькими базами данных и репозиториями
Последнее сообщение коммита: 🙄 update docker images.
1
https://api.gitlife.ru/oschina-mirror/dotnetchina-Furion.git
git@api.gitlife.ru:oschina-mirror/dotnetchina-Furion.git
oschina-mirror
dotnetchina-Furion
dotnetchina-Furion