我有一个MVC控制器来接收从WinForms应用程序发送的JSON数据。如何拆分JSON字符串并将其存储到SQL Server中?
这是我的控制器,用于接收和反序列化json对象:
Stream req = Request.InputStream;
req.Seek(0,System.IO.SeekOrigin.Begin);
string json = new StreamReader(req).ReadToEnd();
hl7View hl = null;
hl = JsonConvert.DeserializeObject<hl7View>(json);
//hl do have a string data like this
//"{\"data\":[{\"LOC\":\"TEST\",\"COMPANY\":\"BST\",\"MSG_ID\":\"20160701123200-112\",\"NS\":\"\",\"ROOM\":\"\",\"BED\":\"\",\"SID\":\"25444444\",\"OBS_SEQ\":\"1\",\"OBS_TIME\":\"20160701164801\",\"SEQ\":\"1\",\"ITEM\":\"8867-4\",\"ITEMLAB\":\"Heart Rate\",\"RESULT\":\"80\",\"UNIT\":\"Beats/min\",\"FLAG\":null,\"CLI_INFO\":null,\"OPID\":\"150710\"}],\"sMSG\":null}"
//what should i do here?
如何拆分字符串并将其存储到SQL Server中?
这是hl7View类的代码:
public class hl7View
{
public string sMSG {get;set;}
public List<dataDB> Datalist {get;set;}
}
我尝试手动插入数据,并且工作正常。是否有可能在反序列化之后将其拆分然后存储到数据库中?
答案 0 :(得分:0)
我认为您应该基于创建的实体框架将dataDB列表对象直接添加到sql db。
使用已经存在的dataDB的列表对象设置foreach循环。
dbcontext.tablename.add(item)//项目是dataDB的foreach循环对象。
类似于下面的代码。
foreach (var mapping in mappings)
{
mapping.UserId = UserCommitteeMappingIDWiseUserID[mapping.UserCommitteeMappingID];
mapping.ModifiedBy = ModifiedBy;
mapping.ModifiedDate = DateTime.Now;
context.UserCommitteeMappings.AddObject(mapping);
}