[C# ] 和 EF 解耦合

楼主: SuicideIwin () => print("Hello")   2023-06-28 13:25:22
为了处理案子的后端能更方便
写了一个处理比较多功能的 .NET Standard 2.0 的工具库
其中有个地方原本是这样写
https://i.imgur.com/iIKypv6.png
这个方法的目标大略是
前端打要求进来 说我要 ID 几的某某资料
负责那种资料的控制器就会来呼叫这个方法
这个方法知道
1. 输入物件的 ID 字段叫什么
2. 资料模型的 ID 字段叫什么
然后透过这个方法自动配对到对应资料
但因为同时想支援本地集合 LINQ 搜寻 跟 LINQ 2 Entities 搜寻
用了偷鸡的方式做判定
这个专案面向的是 .Net Standard 2.0
使用 EF Core 3.1.32
今天不知道为啥突然看到
EF Core 3.1 已经 EoL 以后不会有安全性更新
想说如果未来才更新 到时候会蛮麻烦的
索性把工具库的 EF Core 依赖拿掉
但没有 EF, 没办法知道 query 是不是使用 EF 的
所以改成了不需要知道 query 来源, 可以统一一套处理方式的作法
https://i.imgur.com/kSAeZK4.png
用了比较不熟悉的 Expression
老实说有点可怕 写的时候有种在写黑魔法禁咒的感觉
不过能顺利跑
Expression 感觉蛮好用的 除去它语法比较陌生
此外不知道效能上有没有问题
会不会跟 reflection 是类似的东西
但总之暂时解决 EF Core 相依性的问题了==
这样也不用担心专案想用 EF6 的情况
作者: JenniferLope (ㄚ)   2022-06-28 13:25:00
大师
作者: EliteCaterpi (さくらみこ的绿毛虫)   2023-06-28 13:26:00
大师
作者: medama ( )   2023-06-28 13:27:00
大师
作者: SecondRun (雨夜琴声)   2023-06-28 13:29:00
大师 这好酷
作者: Che31128 (justjoke)   2023-06-28 13:29:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com