mvc web api 保存多个实体类的方法

时间:2020-12-12 19:01:42

先说一下我的业务需求,挺简单的。

就是在设计角色和权限的页面中,需要一个角色对应多条权限记录,那么在保存的时候,我的处理方式是,先删除该角色的所有权限,然后再保存所有的权限。

这样的话问题就来了,用默认的方式好像不满足我的需求,因为我需要一次传递多条权限记录给后台,网上搜索后,终于找到了方法,代码如下:

    public bool Add([FromBody]JObject Entity)
{
dynamic jObj = Entity;
var list = jObj.Value;
List<authorization> result = new List<authorization>();
for (int i = ; i < list.Count; i++)
{
authorization e = (list[i] as JObject).ToObject<authorization>();
e.ID = Helper.GetGUID();
result.Add(e);
} return DB.SaveLimits(result) ;
}

前台调用的方法和以前一样,只是传递参数时需要重新设计一下数据格式:

var data = {Value:[{实体类json格式},{实体类json格式},{实体类json格式}]};

        $.ajax({
url: '/api/Authorization/',
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json; charset=utf-8',
success: function (data) {
$.messager.alert('提示信息', '数据保存成功...', 'info');
},
error: function () {
$.messager.alert('提示信息', '数据保存失败...', 'error');
}
});

ps:后台cs的代码可能需要根据你设计的数据格式进行更改