Почему AutoMapper добавляет новый объект, если его идентификатор равен нулю?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему AutoMapper добавляет новый объект, если его идентификатор равен нулю?

Сообщение Anonymous »

Контекст моей базы данных имеет модель пользователя и модель компании. Пользователи могут быть администраторами, и в этом случае они не связаны с компанией, или они могут быть одним из двух других типов, и в этом случае они будут связаны с компанией.
Соответствует части двух моделей...

Код: Выделить всё

public class User {
public UserRole Role { get; set; }
public int? CompanyId { get; set; }
public virtual Company? Company { get; set; }
}

public class Company {
public virtual ObservableCollection Users { get; set; } = [];
}
У меня есть соответствующая модель DTO для пользователя и две для компании (одна с минимальными свойствами, используемая для списков, и одна со всеми подробностями, используемыми для страниц редактирования). Опять же, ненужные фрагменты вырезаны...

Код: Выделить всё

public class UserDto {
public int? CompanyId { get; set; }
public string CompanyName { get; set; } = "";
}

public record CompanyOverviewDto(int Id, bool Active, string Name);

public class CompanyDto {
public List Users { get; set; } = [];
}
У меня есть следующий профиль AutoMapper...

Код: Выделить всё

public class AutoMapperProfile : Profile {
public AutoMapperProfile() {
CreateMap();
CreateMap().ReverseMap();
CreateMap()
.ReverseMap();
}
}
Если UserDto передается в AutoMapper и имеет нулевой CompanyId, то создаваемый им результирующий объект User имеет нулевой CompanyId< /code>, но на нем висит объект ненулевой Company.
Как я могу остановить это? Если CompanyId имеет значение null, я не хочу, чтобы AutoMapper добавлял пустую компанию.

Подробнее здесь: https://stackoverflow.com/questions/792 ... id-is-null
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему AutoMapper добавляет новый объект, если его идентификатор равен нулю?
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Идентификатор созданного объекта всегда равен нулю
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Почему SQL Server предполагает, что принадлежащий объект с двойной вложенностью не равен нулю?
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Почему SQL Server предполагает, что принадлежащий объект с двойной вложенностью не равен нулю?
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Почему SQL Server предполагает, что принадлежащий объект с двойной вложенностью не равен нулю?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»