Я этот -simplified- класс модели:Автоматическое заполнение навигационных свойств?
public class Transaction
{
public string Id { get; set; }
public virtual UserResource Resource { get; set; }
}
И АНИ контроллер MVC Web:
// POST api/values
[HttpPost]
public void Post([FromBody]Transaction transaction)
{
}
И мое тело запроса, как это:
{"Id":"5520AEB9-DAD8-4C85-80A7-3257931B9790","ResourceId":"118547FC-0B3A-4816-820C-93BF2BA1BF14"}
В post method, transaction.Resource - null. И я не знаю, как заставить его быть заполнены с помощью Id ресурса я прошел ...
То, что я пытался до сих пор:
- Добавить
public string ResourceId {get; set;}
и пометить его как ForeignKey в Сделке .. . -> без изменений - В запросе измените параметр ResourceId на «Ресурс»: {Id: ".."} -> transaction.Resource больше не пуст, но он не запросил таблицу ресурсов, чтобы заполнить что-либо. ..
- Mark Ресурс как виртуальный или нет (Lazy loading или Eager) -> Без изменений
Идеи?
Ваш JSON не имеет 'Resource' свойство. Для вашего attemp # 2 вы ожидаете, что фреймворк выберет из вашей базы данных объект «Ресурс» с помощью «ResourceId»? –
Я не знаю об EF7, но я знаю, что у вас должен быть объект DBContext, а затем прикрепите свою модель к нему, чтобы получить модель, заполненную из базы данных. – mfarouk
@FrankFajardo, True. –