📰 来源: 博客园
老周叕回来了,很久没写点什么了。声明一下,老周并不是没啥可写,真要写的,老周能写的东西可多了。毕竟老周聊发少年狂,左玩C,右++。内外兼修,戎码一生,天上地下海里都干过。潜水许久,先容老周解释一下。春节期间基本只做两件大事:远的不想去,近的玩腻了,正巧地铁修到家门口。所以白天带着父母坐地铁到处溜;晚上吃完饭就给家里的灯啊、风扇等低功耗电路做大面积改造。率先实现家居环境工控化。以下是灌水时间,不看可以跳过哟。
过年前买好了配电箱、直流电源、分线器、继电器、MOS 管、工控板、三块 esp32 小板;红外传感器,主要是改楼梯口的灯,拆了开关,换成红外人体感应。
至于风扇,有两台改换成 12 V 的电机,效果不太好,所以其他的保持不改,交流 220V 买的是固态继电器,3V就能驱动,所以直接连单片机 IO 口没问题。麻烦的是要用 5V 的电源单独供电。
空调没有改,它们本身就自带 Wifi 控制。
----------------------------------------------------------------------------------------------------------------------------------------------
过完年了,又是去年那个某集团。去年没调试出个结果,开年他们把机器修好了,然后又要过去继续调试。但这次破案了——当初老周怀疑是有人故意拔网线,最后发现不是人为捣乱,是交换机搞鬼,换了一台就一切顺利,迎来开年红了。
然后这个项目就要交接了,就是说,以后老周不给他们维护了,让他们自己的开发人员继续搞(他们自己养了 70 多人的开发团队,不用浪费)。于是,车间的事情了结后,要到他们集团工业区那边开了几个会,主要是给接手的人讲一下源代码,以及一些 Modbus 控制设备的原理。
----------------------------------------------------------------------------------------------------------------------------------------------
接着,经中学同学介绍,接了一个蓝牙 BLE 的项目,采集木材数据的。花了 2.5 个星期弄好,现在已正式使用,目前他们厂那里没有反馈问题,应该是可以结案了。
最近,又接了一个 ASP.NET Core 的,项目还没开始(也有可能会黄了),不知道干吗的。好像说是生产袜子的。还有一个是做游戏的,老周不会做,就推掉了。
-----------------------------------------------------------------------------------------------------------------------------------------------
好了,F 话讲完。下面是主题。说明一下,老周写的这系列 EF Core 可不算是 0 基础入门的,主要是分享实际使用技巧,不能涉及每个知识点的。
地球人都知道,EF Core 的实体追踪是通过与从数据库查询出来的值进行比较来生成更新数据库的 SQL 的,但是,在实际使用时,咱们经常不需要先查询再更新的。比如,删除一条记录;登录时写入用户登录时间等。这些操作没有必要把数据都查出来再去比较变更,再去更新。
虽然说 EF Core 在 DbContext 类的 Database 属性所引用的 DatabaseFacade 对象上提供了如 ExecuteSqlRaw 这样的方法,允许直接发 SQL 语句,不过呢,这样玩的风格还是太不像 EF 了。
于是,EF Core 又提供了另一套 API。可以绕过 ChangeTracker 来生成更新的 SQL 语句。用起来很是简单,咱们直接用实例讲解。
1、打开 VS(或者长得像 VS 的 IDE),新建一个控制台应用项目。
2、执行菜单【工具】-【Nuget 包管理器】-【程序包管理器控制台】,打开 Nuget 包控制台窗口。
3、在控制台中输入以下命令,活加 SQLite 的 EF Core 库。
install-package microsoft.entityframeworkcore.sqlite
4、打开或新建代码文件。先定义实体类。
public class Photo { public int Pid { get; set; } public required string Title { get; set; } public int DPI { get; set; } public int Width { get; set; } public int Height { get; set; } public string? Tag { get; set; } }
5、实现数据库上下文。
public class MyContext : DbContext
{
🔗 原文链接: 点击阅读原文
文章评论