Проблема привязки моделей — .Net Core

#.net-core #model-binding

Вопрос:

У меня есть ViewModel приложение .Net Core 5.0 MVC, которое выглядит примерно так:

 public Class MyViewModel {
    public string Property1
    public string Property2
    public Entity Entity1
}

public Entity : BaseEntity {

}

public abstract Class BaseEntity : IValidatableObject
{
    public virtual IEnumerable<ValidationResult> Validate(ValidationContext validationContext) {
       //code here
    }
}
 

При выполнении HTTP-сообщения с MyViewModel .Net Core автоматически вызывается Microsoft.AspNetCore.Mvc.ModelBinding.ParameterBinder.BindModelAsync из — за MyViewModel's ссылки на Entity . Если я удалю свойство сущности, оно не будет вызываться BindModelAsync .

В моем сценарии я не хочу MyViewModel звонить BindModelAsync , это просто неизбежно , исходя из того, как я реализовал свой код?

Вот подпись HTTP-сообщения:

 [HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Post(MyViewModel viewModel)
 

Этот метод еще даже не попал, потому что в нем говорится, что мой экземпляр ViewModel «недействителен».