我需要通过API调用将字符串值从多个复选框保存到数据库。我如何在数据库模型中正确建模,以便可以将字符串值保存到数据库表中的一个列中。我正在使用ASP.NET MVC,我在前端使用了vue.js。
我想传递一系列字符串,这些字符串将值从多个Check-Boxes表示到API端点。我将其表示为数据库模型中的字符串列表,也想将字符串值列表作为字符串保存为我的表列中。(注意:不确定这是否是一种很好的方法,因为我必须能够检索此列表后来从数据库中(。
public class TempAccountOpeningRequest
{
[Key]
public int Id { get; set; }
[Required(ErrorMessage = "First Name is required")]
[JsonProperty("first_name")]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is required")]
[JsonProperty("last_name")]
public string LastName { get; set; }
[JsonProperty("typesSelected")]
public List<string> TypesSelected { get; set; }
}
我希望能够将值从多个复选框传递给API,然后将数据保存到我的数据基表
您可以单独使用逗号将其保存在一列中:
将您的模型更改为:
public class TempAccountOpeningRequest
{
...
[JsonProperty("typesSelected")]
public string TypesSelected { get; set; }
}
您的保存可以这样:( TypesSelected
将从vue.js发送为数组(
public class SaveTempAccountOpeningRequestDTO
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<string> TypesSelected { get; set; }
}
,您的API获取数据,然后将其转换为数组,然后将其保存在数据库中:
public bool Save(SaveTempAccountOpeningRequestDTO dto)
{
...
string joinedTypesSelected = string.Join(',', dto.TypesSelected);
...
}
当然,当您获取数据时,应该将其更改为这样的列表:
yourResult.Select(x=>x.TypesSelected.Split(',')).ToList();