使用 C# 在数据库中显示来自 json 文件的数据
Posted
技术标签:
【中文标题】使用 C# 在数据库中显示来自 json 文件的数据【英文标题】:showing data from a json file in database using C# 【发布时间】:2020-03-28 04:11:48 【问题描述】:我有一个 json 文件,我在 c# 控制台实体框架中反序列化这个文件现在我想将存储在文件中的数据显示到我在 sql server 中的表中 这是我的代码,我试图将我的文件中的字段与我的表字段均衡我接下来应该做什么?
using (var context = new UNIEntities1())
var majorId = context.Major.Where(e =>e.MajorName == dto.Major).Select(e => e.IdMajor);
return new student1()
StudentName = dto.StudentName,
Age = dto.Age,
Address = dto.Address,
Major = majorId,
PhoneNumber = dto.PhoneNumber
;
这是反序列化的代码
public static StudentDto Deserialize()
var Student = JsonConvert.DeserializeObject<StudentDto>(File.ReadAllText(@"unii.json"));
return Student;
这部分有效,但我不知道如何将这些数据保存到我的数据库然后显示?
【问题讨论】:
接下来你应该做的是添加标点符号,因为它非常混乱。你的意思是你想把它存储在数据库中吗?反序列化json的代码在哪里?保存到数据库的代码在哪里? 是的,我想将它存储在数据库中 请更新您的问题,而不是将您的代码放入 cmets。这不是很可读。如果要将其添加到数据库中,只需使用 context.Add(student1) 我做了你说的对不起,我是编程新手,我刚刚打开我的帐户,这就是为什么我不知道如何回答你的问题。context.add 在这里不起作用,我用 ado。 net 从 sql server 带来我的表。 我明白,但为了防止您的问题被否决或删除,您需要非常清楚,并添加所有相关代码。如果您定义了学生上下文,您可以简单地添加到上下文中,然后在该上下文上调用 savechanges。应该这样做。 【参考方案1】:你可以这样做:
// get the deserialize object
var dto = Deserialize();
// create a new instance of Student from the dto
var newStudent = new Student
StudentName = dto.StudentName,
Age = dto.Age,
Address = dto.Address,
Major = dto.Major,
PhoneNumber = dto.PhoneNumber
;
// save it to the database
using (var context = new UNIEntities1())
context.Student.Add(newStudent);
context.AcceptChanges(); // or SaveChanges()
【讨论】:
以上是关于使用 C# 在数据库中显示来自 json 文件的数据的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 c# 根据来自 json 的 json 元素属性值验证数据条件
如何使用 C# 在 POST 请求中发送 json 数据 [重复]