Дерево выражений может не содержать вызов или вызов, который использует необязательные аргументы
return this.RedirectToAction<MerchantController>(x => x.Edit(merchantId));
Если у редактирования был второй аргумент с нулевым значением.
Почему это?