我有这个-simplified-模型类:自动填充导航属性?
public class Transaction
{
public string Id { get; set; }
public virtual UserResource Resource { get; set; }
}
,且MVC网页API控制器:
// POST api/values
[HttpPost]
public void Post([FromBody]Transaction transaction)
{
}
而我的请求体是这样的:
{"Id":"5520AEB9-DAD8-4C85-80A7-3257931B9790","ResourceId":"118547FC-0B3A-4816-820C-93BF2BA1BF14"}
在post方法,transaction.Resource为null。我不知道如何得到它使用的资源ID我通过填充...
我试过到目前为止:
- 添加
public string ResourceId {get; set;}
并将其标记为在交易一个ForeignKey .. - > no change - 在请求中将ResourceId参数更改为“Resource”:{Id:“..”} - > transaction.Resource不再为空,但它没有查询Resource表以填充任何内容。 ..
- 标记资源是否为虚拟(延迟加载或Eager) - >没有更改
想法?
您的JSON没有一个'Resource'属性。对于您的尝试#2,您是否期望框架可以通过'ResourceId'从数据库中获取'Resource'对象? –
我不知道EF7,但是我知道你应该有一个DBContext对象,然后将你的模型附加到它上面,以便从数据库中填充模型 – mfarouk
@FrankFajardo,True。 –