正在研究ASP.NET项目,我现在遇到了一个问题。
fruits = [
{
type: "First",
size: 50,
weight: 120,
optionalParam1: "String",
optionalParam2: 152
},
{
type: "Second",
size: 12,
weight: 160,
optionalParam3: "Another String",
optionalParam4: 169
},
{
type: "Third",
size: 15,
weight: 190,
optionalParam1: "String for Third",
optionalParam5: [1, 2]
}
]
saleInfo = {
param1: 12,
param2: "string",
param3: 150
}
public class FruitViewModel {
public Dictionary<string, dynamic>[] fruits;
public Dictionary<string, dynamic> saleInfo;
public int total;
public Dictionary<string, dynamic> prevInfo;
}
只想将此信息存储到sql服务器并从sql db恢复它们。但是我不确定为此使用Dictionary是否正确。
您会指导我如何接收此信息并将其保存到sql db吗? 还有如何从sql db恢复此信息并将其发送到前端?
PS。这里的prevInfo参数与saleInfo参数相同,但是顾名思义,它是可选的。对于请求为空,仅可用于响应。
答案 0 :(得分:0)
列表很好用
第一个创建一个类,该类反映您的前端期望,例如:
public class FruitModel {
public string type { get; set; },
public int size { get;set; },
//the rest of properties you want
}
然后您的ViewModel开始看起来像这样:
public class FruitViewModel {
public List<FruitModel> fruits;
//change the rest to match
public Dictionary<string, dynamic> saleInfo;
public int total;
public Dictionary<string, dynamic> prevInfo;
}
该列表将在前端序列化为Array。您还需要进行一些操作,因为您的数据将被封装到一个holder对象中。
如果在名为apiData的变量中获取数据,则将使用apiData.fruits访问其余数据,例如,第一项是apiData.fruits [0]。
如果您想使前端的生活变得轻松,您要做的就是将响应数据直接分配给变量,例如:
fruits = apiData.fruits;
然后就不需要改变了。
答案 1 :(得分:0)
在 VB 中,当使用 EF 时,您可以通过添加 ?到模型中字段定义的末尾(即使其可为空)。字符串不需要这个。 例如
Public Property optionalparam1 As String
Public Property optionalparam2 As Integer?
Public Property optionalparam3 As String
Public Property optionalparam4 As Integer?
再。可选参数 5,不确定数组和对象元素,我现在正在研究它。祝你好运;)
更新:数组就像字符串,它们是引用,所以总是可以为空的,所以需要特殊处理。