如何使用ASP.NET Web API实体框架处理带有JSON的数据的JSON的POST调用?

我有一个JSON,其格式如下:

{
"header": {
"source_code": "S12345"
"user_id": "987456"
},"body":{
"source_code": "S12345","wrapper_list": [
{
"item_wrapper_code": "WRAP01","item_amount": 10,"item_type_amount": 2,"creation_date": 20191115,"worker": "W001","workstation_no": "1"
"item_list":[
{
"item_code": "I001"
"item_id": "","bar_code": "123987456"
"remark": ""
},{
"item_code": "I002"
"item_id": "","bar_code": "213987456"
"remark": ""
}
]
}
]
}
}

上述JSON对象的主体在父子关系中包含数据。

Parent: WRAP01
Child1: Item I001
Child2: Item I002

我必须能够解析此JSON对象,并将这些详细信息作为行插入到相应的表中,即,将与父相关的内容插入到父表中,并将与子相关的内容插入到子表中。

我请这里的专业人员来指导我。

guandehuo520 回答:如何使用ASP.NET Web API实体框架处理带有JSON的数据的JSON的POST调用?

因此,将Json解析为实体框架对象是不好的做法。

首先,创建将映射到Json的数据传输对象(DTO)。 它像是: RequestDto,BodyDto,WrapperDto,WrapperItemDto。

要进行解析,您可以使用类似newtonsoft的工具,请参见示例:https://www.newtonsoft.com/json/help/html/DeserializeObject.htm

然后,您应该编写将映射到数据库表的EntityFramework对象。 我希望您了解数据库理论,并且已经阅读了一些有关EntityFramework及其如何实现不同数据库关系的文章。如果没有,请阅读。

您需要一对多关系。一对多关系可以通过以下方式进行配置。

  1. 遵循惯例
  2. 使用Fluent API配置

您可以使用第一种方法。它更容易。因此,您需要2个类:WrapperEntity,WrapperItemEntity。

然后,您应该编写将WrapperDto转换为WrapperEntity并将WrapperItemDto转换为WrapperItemEntity的代码。然后将* Entity对象保存在数据库中。

实现这种逻辑是最佳实践。我将其解释为最高级别。有关详细信息,您可以分别搜索每个问题。

本文链接:https://www.f2er.com/3083458.html

大家都在问