Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
193 / 135 / 57
Регистрация: 28.05.2022
Сообщений: 894

Не добавляется обьект в бд

28.01.2025, 01:38. Показов 1651. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
OnModelCreating в ApplicationContext:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            // Report
            modelBuilder.Entity<Report>()
                .HasKey(r => r.Id);
 
            modelBuilder.Entity<Report>()
                .HasOne(r => r.Suspect)
                .WithMany(u => u.Reports)
                .HasForeignKey(r => r.SuspectId)
                .OnDelete(DeleteBehavior.Restrict);
 
            modelBuilder.Entity<Report>()
                .HasOne(r => r.Sender)
                .WithMany()
                .HasForeignKey(r => r.SenderId)
                .OnDelete(DeleteBehavior.Restrict);


Report:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Report
{
    [Key]
    public Guid Id { get; set; } = Guid.NewGuid();
 
    [ForeignKey("SenderId")]
    public User Sender { get; set; }
    public Guid SenderId { get; set; }
 
    [ForeignKey("SuspectId")]
    public User Suspect { get; set; }
    public Guid SuspectId { get; set; }
 
    public string Reason { get; set; } = string.Empty;
 
    public string Description { get; set; } = string.Empty;
 
    public DateTime ReportDate { get; set; } = DateTime.UtcNow;
}

User:
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class User
{
    [Key]
    public Guid Id { get; set; } = Guid.NewGuid();
 
    public ulong SteamID { get; set; }
    public string UserName { get; set; } = "Unknown";
    public Role UserRole { get; set; } = Role.User;
 
    public ICollection<Report> Reports { get; set; } = new List<Report>();
 
    public enum Role
    {
        User,
        Moderator,
        Admin
    }
}


При попытке добавить Report в Reports, в этом блоке:
C#
1
2
3
4
5
6
7
8
9
10
11
        public async Task AddReportAsync(Report report)
        {
            User? user = await _context.Users
                .Include(u => u.Reports)
                .FirstOrDefaultAsync(u => u.Id == report.SuspectId);
            if (user == null) throw new InvalidOperationException("Suspect user is null!");
 
            user.Reports.Add(report);
 
            await _context.SaveChangesAsync();
        }
Возникает ошибка при сохранении: The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded.

Вызываю от сюда:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public async Task Initialize()
 {
     // главного по умолчанию
     User user = await _userService.GetOrCreateUserAsync(Constans.OWNER_STEAM_ID, "OWNER", User.Role.Admin);
     Debug.WriteLine($"Added {Constans.OWNER_STEAM_ID} as default owner!");
 
     // тест репорт
     await _userService.AddReportAsync(new Report()
     {
         SenderId = user.Id,
         SuspectId = user.Id,
         Reason = "Репорт",
         Description = "Дополнительно",
         ReportDate = DateTime.UtcNow
     });
 }
Никаких AsNoTracking пока не добавлял.
Заранее спасибо за помощь.

Добавлено через 5 часов 18 минут
Хотя на прямую обращаться к контексту я могу, добавлять/удалять/изменять.

ApplicationContext:
C#
1
2
3
        public DbSet<User> Users { get; set; }
        public DbSet<CheckResult> CheckResults { get; set; }
        public DbSet<Report> Reports { get; set; }
И так же потом получать через юзера репорты "user.Reports.where..." могу, но добавлять (изменять и удалять через юзера не пробовал) не могу.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2025, 01:38
Ответы с готовыми решениями:

Ошибка: указан недопустимый обьект, или обьект более не задан
Что не так в этом коде ? Sub abv() Dim rst As Recordset, str As String, i As Byte, fld As String Dim tdf As TableDef

Указан недопустимый обьект, или обьект более не задан
Не могу понять как это происходит и почему. В открывшейся форме нажмите кнопку фф и вам выпадет ошибка. Вот база Я пытаюсь сделать...

Проблема с файлами.В фаил добавляется только дата, а сам текст не добавляется
Подскажите кто может... Есть сайт со списком новостей и форма для добавления новой новости. Вот пример программы &lt;?php echo' ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2025, 01:38
Помогаю со студенческими работами здесь

Не добавляется видео на сайт c ютуб с моим шаблоном а с другим добавляется
Помогите!!! не добавляется видео на сайт с ютуб c моим шаблоном а с другим добавляется.Не собираюсь из за этого менять шаблон.Вставляю...

Как конвертировать обьект типа System.Drawing.Image в обьект System.Web.UI.WebControls.Image
Буду очень благодарен тому кто поможет

В Edit записать число, если число положительное, то добавляется в Listbox1, иначе добавляется в Listbox2
Добрый день, помогите разобраться, имеется два Listbox'а и один Edit. Необходимо в Edit записать число, если число положительное, то...

Изменить слова: первая буква добавляется в конец слова и в конец же добавляется окончание ai
Задача: вводят выражение, строку из нескольких слов, её нужно преобразовать в особый язык. Этот язык заключается в изменении слов: первая...

Обьект
Всем привет, есть проблема, обьект перекрывает все в игре хоть при просмотре сцены он на заднем плане, в иерархие двигал, ордер ин лаер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru