#c# #entity-framework #audit.net #audit.net.sqlserver
#c# #entity-framework #audit.net #audit.net.sqlserver
Вопрос:
Я только начинаю использовать Audit.NET . Я загружаю шаблон с
dotnet new -i Audit.WebApi.Template
dotnet new webapiaudit -E
К сожалению, проект не работает. Когда я отправляю значение, у меня возникает внутренняя ошибка сервера. Описание довольно длинное, но в основном ошибка
Майкрософт.AspNetCore.Диагностика.DeveloperExceptionPageMiddleware: Ошибка: при выполнении запроса возникло необработанное исключение. Система.Исключение TypeLoadException: не удалось загрузить тип ‘Microsoft.EntityFrameworkCore.Внутренняя.EnumerableExtensions «из сборки»Microsoft.EntityFrameworkCore, версия = 5.0.1.0, Культура = нейтральная, PublicKeyToken= adb9793829ddae60’. в Microsoft.EntityFrameworkCore.RelationalPropertyExtensions.Найдите разделяемую таблицу. RootPrimaryKeyProperty(свойство iProperty) в Microsoft.EntityFrameworkCore.RelationalPropertyExtensions.GetDefaultColumnName(свойство iProperty) в Microsoft.EntityFrameworkCore.RelationalPropertyExtensions.Получить ColumnName(свойство iProperty) при аудите.EntityFramework.DbContextHelper.Получить ColumnName(iProperty prop) при аудите.EntityFramework.DbContextHelper.Получить значение ColumnValues(контекст IAuditDbContext, запись EntityEntry) при аудите.EntityFramework.DbContextHelper.Создайте событие аудита (контекст IAuditDbContext) при аудите.EntityFramework.DbContextHelper.SaveChangesAsync(IAuditDbContext context, функция `1 baseSaveChanges) в проектах.Providers.ValuesProvider.InsertAsync(строковое значение) в C:ProjectsAuditNetWebapiProvidersValuesProvider.cs:line 32 в проектах.Контроллеры.ValuesController.Сообщение (строковое значение) в C:ProjectsAuditNetWebapiControllersValuesController.cs:line 40
У вас есть какие-нибудь идеи? Существуют ли шаблоны проектов из ASP.NET или Консоль?
Я создал репозиторий на GitHub с проектом.
Комментарии:
1. Является ли код GITHUB размещенным клиентом или сервером? Код GITHUB выглядит как клиент с контроллером. Затем вы сказали: «У меня внутренняя ошибка сервера». Контроллер используется для обработки ответа и разбора на классы сущностей. Ваш код curl также выглядит так, как будто вы пытаетесь подключиться к серверу. Таким образом, похоже, что сервер не отправляет хороший ответ, а затем вы получаете ошибку при обработке клиентом плохого ответа. Пожалуйста, игнорируйте ошибку ответа клиента, пока вы сначала не исправите внутреннюю ошибку сервера.
2. Если вы запустите проект, у вас будет развязность. Когда вы
POST
вводите новое значение, приложение вызываетAudit.NET
и генерирует эту ошибку. Код является шаблонным дляAudit.NET
; Я только добавил развязность3. Мы ничего не знаем ни о вашем сервере, ни об ответе, который вы получаете. Лучшее, что мы можем порекомендовать, это обработать исключение, возникающее при неожиданном ответе, возвращаемом с сервера. Мы не можем устранить основную причину проблемы, которая является внутренней ошибкой сервера, поскольку мы ничего не знаем о сервере. Все, что вы опубликовали, было исключением, которое возникло, когда сервер вернул неожиданный ответ. Неверный ответ, поскольку сервер получил сообщение об ошибке после отправки запроса и до того, как был возвращен хороший ответ.
4. @Enrico шаблон включает в себя опцию
-S
, которую вы можете использовать для автоматического включения Swagger. Я не смог воспроизвести, вы что-нибудь изменили в сгенерированном проекте перед сборкой?
Ответ №1:
Я думаю, это потому, что вы нацелены на более новую версию EF.Ядро больше, чем текущее, поддерживаемое аудитом.EntityFramework.Ядро, которое является 3.1.0.
Не могли бы вы открыть проблему здесь?
Обновить
Это было исправлено в версии 16.3.0, теперь библиотека Audit.EntityFramework.Core
совместима с EF Core 5.0.1
Комментарии:
1. Выполнено github.com/thepirat000/Audit.NET/issues/352
2. Я создал сообщение, в котором я внедряю систему аудита с помощью аудита. ЧИСТЫЙ пошаговый puresourcecode.com/dotnet/net-core /…