c# - 为什么选择 DbSet.Add() 旨在支持跟踪
问题描述
我是 EF 的新手,只是一个关于DbSet<T>.Add()
跟踪功能的问题。
我可以理解DbSet<T>.Update()
确实需要支持跟踪,因为 EF 需要检查哪些属性已更改然后生成正确的更新语句以避免在未修改的列中进行不必要的更新。
但是为什么DbSet<T>.Add()
还需要支持跟踪呢?因为当我们使用 .Add() 方法时,我们想在数据库的表中添加一条全新的记录。由于数据模型是新的,每个属性都应该包含在将要发送到数据库的插入 SQL 语句中,因此没有点跟踪新创建的对象,EF 只需包含所有属性即可生成插入 SQL。
解决方案
推荐阅读
- android - 在构建我的 Android 应用程序时,我遇到了 Fabric 和 crashlytics 的问题
- swift - 在 swift 框架中测试内部类
- php - 如何在自定义函数中呈现灵活的内容布局?
- javascript - 如何用 jest 测试 unhandledRejection / uncaughtException 处理程序
- java - 如何在 Selenium WebDriver 中检查邮件验证?
- android - Android Studio中生成的Java包是什么
- c# - Xamarin 文件 Mime 类型
- django - Django rest框架默认值随机标识符
- ios - 如何制作一个类似于 Apple 应用程序 Shortcuts 上的 collectionViewCell?
- javascript - 如何从控制台中删除错误警告