Новые возможности
Furion.Template.RazorWithWebApi
#I28QGI
Furion.Template.BlazorWithWebApi
#I27Z3O
[AppDbContext(строка_подключения, тип_базы_данных)]
#I28QTB
DateTimeOffset
в DateTime
#I27MQA
ValidationTypes
#I2801V
ValiationTypes.WordWithNumber
#I2805
Реформы
DbSet
Исправления ошибок
Insert
или Update
, когда игнорируются значения NULL #I27UN6
[Route]
в Swagger #I27TN7
[UnitOfWork]
#I27MLM
\
инструментом Furion Tools #I280TS, #PR91
ValidationTypes.Required
#PR98
OnValidateFailed
#PR93, #PR92
Другие изменения
Изменения в документации
Ответы на вопросы
SqlQuery<T>
#I28M1V, 【Закрыто】IRepository<TEntity>
#I281IE, 【Закрыто】Новые возможности
[AppDbContext]
#I27G3T
IEntityDataChangedListener
#I278DD, #I278LQ
IDbRepository<TDbContextLocator>
#I276Q3
InsertOrUpdate
операций с базой данных #I272OG
UpdateInclude
и UpdateExclude
операций с базой данных #I271X0
Разрушительные изменения
Исправление ошибок
Другие изменения
Изменения в документации
Новые возможности
Db.GetDbContext()
для получения контекста базы данных по умолчаниюHttpContextUtility.GetCurrentHttpContext()
для получения глобального контекста HttpContext
App.GetRequiredService<>
для разрешения службobject.GetService<>
PolicyPipeline
для стратегий авторизации с поддержкой множественного условияJWTEncryption.ValidateJwtBearerToken
для ручной проверки JWTInsertOrUpdateIgnoreNullValues
и EnabledEntityStateTracked
в глобальном контексте базы данныхInsertOrUpdate
#I269Q1
Insert
или Update
#I264Q4
Критические изменения
Fur
заменено на Furion
Db.GetRequestDbContext<>()
заменено на Db.GetDbContext<>()
Db.GetDbContext<>()
заменено на Db.GetDuplicateDbContext<>()
App.GetService<>
, что значительно повысило производительностьApp.GetRequestService<>
ValidateJwtBearer
для проверки JWT, теперь не требуется ручное управлениеИсправления ошибок
virtual
для встроенных свойств Tenant
httpContext.GetEndpoint()
#PR73
Oops.Oh
#I26EFU, #I26GM4
Другие изменения
Изменения в документации
Новые возможности
Fur.Template.Mvc
Fur.Template.Api
Fur.Template.App
Fur.Template.Razor
Fur.Template.Blazor
Критические изменения
PagedList
перемещён в пространство имён System.Collections.Generic
Исправление ошибок
Другие изменения
Изменение документации
Новые возможности
Разрушительные изменения
Mapster
до версии 7.0.0
App.Services
в App.ServiceProvider
App.ApplicationServices
и App.GetRequestService<>()
Исправления ошибок
services.AddFriendlyException()
[UnitOfWork]
#I24Q6W
Другие изменения
EntityBase
и Entity
сделаны виртуальнымиДокументация
Новые возможности
RemoteRequest
#I1YYWD
.AddInjectBase()
, которое включает только базовое внедрение службIServiceCollection
и IMvcBuilder
StatusCode
Разрушительные изменения
Исправление ошибок
Другие изменения
Документация
Новые возможности
.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[ProduceResponseTypes]
для нормализованного ответа #I24B8P
Другие изменения
Документация
Новые возможности
Fur.Extras.DependencyModel.CodeAnalysis
, обеспечивающая сканирование и динамическое компилированиеExtras
: UnifyResultContext.Fill(extras)
и UnifyResultContext.Take()
services.AddDb<FurDbContext>(DbProvider.Sqlite, options => { })
Критические изменения
MiniProfiler.EntityFramework
, теперь аналогичная функциональность предоставляется внутреннеИсправление проблем
Interceptor
в EntityFrameworkCore
Entity
и EntityBase
Другие изменения
Документация
Новые возможности
object.Validate()
, которое автоматически выбрасывает информацию об ошибкеDataValidationResult.ThrowIf
, упрощающее обработку исключенийAuthorizationHandlerContext.ValidateJwtBearer
, упрощающее проверку JWT и чтение данныхРазрушительные изменения
Исправление проблем
[AppAuthorize]
, возникающая при отсутствии передачи обработчика авторизацииДругие изменения
RESTfulResultProvider
WithOrigins
для настройки взаимодействия клиентского и серверного кодаДокументация
Новые возможности
Token
с помощью HttpContext
и IHttpContextAccessor
Jwt
, Cookie
и другие #I23IM0
Description
в перечислении Swagger
Критические изменения
Newtonsoft.Json
, теперь используется стандартный System.Text.Json
AddJWTAuthorization
в AddJwt
Исправление ошибок
packages
из .gitignore
UnitOfWork
Oops
OnSuccessed
при возникновении исключения программыДругие изменения
Документация
Новые возможности
Fur.Extras.Authentication.JwtBearer
для работы с JWT.AddInjectWithUnifyResult()
repository.GetService<>()
и repository.GetRequestService<>()
#I235L3
Разработки
Swagger Schemas
, генерация полного типа возврата Schema
#PR65
JObject
для генерации JWT Token
заменён на тип Dictionary<string, object>
JwtSettingsOptions
из проекта Fur, перемещены в пакет Fur.Extras.Authentication.JwtBearer
Исправление ошибок
Другие изменения
Microsoft.AspNetCore.Authentication.JwtBearer
Документация
Новые возможности
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
Документация
Новые возможности
Критические изменения
Guid
на object
dbContext
System.Linq
, чтобы соответствовать стандартам MicrosoftУстранение ошибок
AppStartup
Другие изменения
[OptionsSettings]
Db.cs
Mapster
до последней версии, исправлены несколько ошибокДокументация
Новые возможности
UserInject(routeFix)
, который позволяет конфигурировать страницу по умолчанию для API в программеKeepName
для нормализованной документацииКритические изменения
AuthorizePolicy
в AppAuthorize
Исправление ошибок
Другие изменения
Отсутствуют
Документация
Новые возможности
Разрушительные изменения
AppSettings
. Включает конфигурацию проверки, исключений, динамического веб-интерфейса, нормализованной документации, прав доступа и других.Устранение ошибок
Fur.xml
Oops.Oh
, которое не может быть захвачено в вложенной методеUnitOfWork
key
(#PR51)FakeDelete
Другие изменения
DateTime
были заменены на DateTimeOffset
Документация
Новые возможности
Разрушительные изменения
Исправление ошибок
Другие изменения
Документация
Специальные благодарности
Благодарность за предоставленные полезные исправления ошибок и улучшения функциональности от https://gitee.com/vincywindy (#PR37, #PR39).
Новые возможности
-UseDatabaseNames
в Fur.Tools CLI, поддерживающий установку имени таблицы и столбцов в соответствии с базой данныхРазрушительные изменения
ServicesProvider
до Services
в интерфейсе IDispatchProxy
Исправления ошибок
Другие изменения
Документация
Новые возможности
Разрушительные изменения
AppSettings:EnabledReferenceAssemblyScan
равным true
ServiceProvider
для динамического прокси на Services
Устранение ошибок
Другие изменения
Документация
Новые возможности
AppStartup
AppDbContext.Tenant
и выражение AppDbContext.TenantIdQueryFilterExpression
IRepository.Tenant
App.GetService
и App.GetRequestService
IWebHostBuilder.Inject()
, поддерживающий автоматическую вставку основного кода Fur
Разрушительные изменения
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
Документация
Новые возможности
App.GetService<T>
и App.GetRequiredService<T>
App.GetTransientDbContext<TDbContextLocator>
и App.GetScopedDbContext<TDbContextLocator>
TenantId
в классе AppDbContext
и метод TenantIdQueryFilterExpression
Разрушительные изменения
[DbContext]
заменён на [AppDbContext]
, чтобы избежать конфликта с DbContext
из EF Core
DatabaseAccessorSettingsOptions.cs
Исправление ошибок
AppDbContextBuilder
FakeDelete
в расширении IEntityWithDbContextLocatorExtensions
Другие изменения
App.cs
Документация