两个表格如何传输数据:序列化传输数据

如何让一张表的所有数据存储到另外一张表的一个字段中

详细问题:一个信息输入的页面,用户在输入数据之后然后把数据存储在这个表格中,第一次进去这个页面这个用户是第一次输入,页面时初始化值的,在他第一次输入完之后,他想改变这个数据,于是第二次进入,页面上显示着他第一次输入的信息,并且还可以修改,修改完之后有一个修改的记录,理解之后是分为两个表格,一个表格存储用户输入的信息,第二个表格存储用户的信息记录,第一次填入信息也会有记录,通俗易懂,在用户表添加信息之后,记录表同样有一条记录,而且记录表中有一个字段存储着信息表所有的信息,这个时候,给你这个需求,你会怎么做?

我的想法

起初我的想法就是,在方法中添加两个表格的实体类,传输两个对象,两个表格的添加方法写在一个方法里面,经过多次更改确实可以这样写,并且成功了,然后就是在编辑的判断中写添加记录表数据的代码了,同样,我把添加的代码复制过来放在编辑的下面,这个时候问题出现了,编辑的时候会带过来一个ID,并且ID是有值的,因为编辑的时候就是用户第二次进去要看到第一次填写信息的记录,所以会带着有值的ID过来,这个时候编辑中添加就冲突了,添加的ID是自增的,不能和编辑的ID共用,然后这个地方我就想了很久,在网上看了很多案例,了解到了一个序列化和反序列化,这个概念在我之前上学时我就不是特别懂,然后这次刚好,遇到一个问题可以用来解决,当然还有同事的帮忙。

重新开始整理思路

这个时候,我把之前的想法都不要了,换了个思路,我在方法中只用了信息表的实体类,记录表暂时不管,我想到,既然添加和编辑中都需要添加记录表的数据,我干脆就把记录表的添加语句写在他们的逻辑外面,
我知道添加是没有问题的,首先定义一个变量,new 记录表{ 字段1="",字段二=‘’… ,存储信息表字段=JsonHelper.JsonSerializer<信息表>(信息表参数)}`

var info = new information_Record {
                    Created = DateTime.Now,
                    CreatedBy = MobileAccount.ID,
                    WechatUserID = MobileAccount.ID,
                    IsDeleted = false,
                    Record =JsonHelper.JsonSerializer<Information>(information),
                    Remark=remake,
                };
                service.Create(info);

最主要的是 Record =JsonHelper.JsonSerializer(information)这一句代码,把信息表的所有数据都序列化在Record字段中,并且在显示的时候反序列化这个字段就可以满足上述的那个需求,这是我理解序列化和反序列化最好的一个例子,我发现我上面之前的思路太罗嗦复杂了,而且代码量还比较多,程序员还是要简化代码,高效实现功能。

总结

这个例子是我今天刚刚遇到的一个问题,我想以博客的形式保存这个案例,并且给自己加深印象,程序员的生活才刚刚开始,学习永无止境,博客记录深刻。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值