跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 系统迁移.netCore 求解
未分類
8 10 月 2020

系统迁移.netCore 求解

系统迁移.netCore 求解

資深大佬 : skyworker 4

前提: 我们团队的技术栈是:antd+laravel, 今年接了一个企业的内部定制业务系统, 对方的 IT 负责人是.net 出身, 要求后台用.net 来实现,便于他们后期做小范围业务调整.

为了尽快搭建软件模型, 团队初期仍然按照 antd+laravel 快速搭建平台, 考虑业务稳定成型后,后台迁移为.netCore. 目前业务逻辑已经完成了, 本来以为 laravel 后台转 netCore 会很简单, 没想到差别还比较大.

例如某个业务 form 中, 有如下字段:

总产量
早班 1 号井量
中班 1 号井量
晚班 1 号井量
早班 2 号井量
….

例如有 40 个 field 吧, 在 laravel CRUD 都很简单,

// 新增
$data = $request->all();
$chanliang = new Chanliang($data);
$chanliang->save();

// 修改
// $request 中传了几个字段, modal 就只修改几个字段
$data = $request->all();
$changliang = Chanliang::find($id);
$changliang->update($data);

但是在 netCore 中, 新增还好说, 在修改的时候, 如果这 40 个字段中, 客户只修改了 3 个(post 中也只包含这三个字段),其他的都会被自动清空.

查了一些资料, netCore 中好像并不支持目前现有的修改方法(antd 前端再做调整成本太高), 有没有做过类似的工作?

大佬有話說 (6)

  • 資深大佬 : a194259440

    有点没看懂,题主的意思是,调用接口时,只传入了三个字段,就导致其它字段全部清空,只有这三个字段有值么?
    如果是这样,那就是接口里面的 CRUD 有问题,修改接口就好

  • 資深大佬 : jtwor

    要么判空 空就不更新 要么整个 form 提交 不要修改三个就提交三个。。

  • 資深大佬 : alshlg

    字段值都传过去 update,不管有没有修改

  • 資深大佬 : PerFectTime

    这个得看你用什么数据层的吧,如果你用的 EF,他会自动忽略值为 NULL 的属性不做更新

  • 資深大佬 : grzhan

    如果是用 .Net Core 的话,对应的 ORM 可能用的是 EF Core ?
    如果是 EF Core 的话,可以简单参考这篇( https://www.cnblogs.com/cgzl/p/8543772.html )
    更新就直接是追踪 Model 的属性,更新属性并 SaveChange 之后就会实现字段的更新( https://images2018.cnblogs.com/blog/986268/201803/986268-20180311220651540-1228571595.png )

  • 資深大佬 : dswyzx

    说具体的框架细节吧,最终是 orm 生成的执行语句与 db 交互的,这个交互结果不符合预期,改呗

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具