Модель становится нулевой, когда любой из параметров является нулевым - PullRequest
0 голосов
/ 18 октября 2018

В моем приложении Angular 5 я хотел бы сохранить объект «событие» следующим методом:

save(newEvent: NewEvent): Observable<any> {
    const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
    const requestUrl = 'api/event';
    return this.http.post<any>(requestUrl, newEvent, httpOptions);
  }

Модель NewEvent:

export class NewEvent {
  id: number;
  title: string;...

  constructor() {
    this.id = null;
    this.title = '';...
  }
}

И после того, как явызовите это с помощью метода в контроллере с .NET Core:

[HttpPost("api/event")]
public IDictionary<string, Object> SaveEvent([FromBody] EventViewModel model){...}

POCO EventViewModel:

{
    public class EventViewModel
    {
        public int Id { get; set; }
        public string Title { get; set; }...
    }
}

Когда мой объект EventViewModel не имеет атрибутов с "нулем"value это работает без проблем, но когда у меня есть атрибуты "null", это не работает (EventViewModel стало "null"), и я хочу иметь иногда атрибуты "null".

1 Ответ

0 голосов
/ 18 октября 2018

Ваша модель C # имеет необнуляемое значение int для столбца Id.Если вы хотите, чтобы он был обнуляемым (поскольку вы устанавливаете его в null в своей модели javascript), вы должны определить его как int? или Nullable<int>.

См. Также: Обнуляемые типы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...