c# - 实体框架 6:使用新实体实例创建更改跟踪代理,而无需通过 DbSet.Create 方法替换现有构造函数
问题描述
我们有一个现有的 WPF 应用程序,该应用程序以前是使用 DB-first 方法和旧版本的实体框架(带有对象上下文类)构建的。该应用程序的开发假设更改跟踪代理始终处于激活状态,因此更改导航属性会自动更新外键(ObjectContext 的默认行为)。
现在,我们正在迁移到 Entity Framework 6 并使用一个DbContext
类。我们通过使所有属性虚拟化等来实现更改跟踪代理。唯一的问题是,当创建一个实体的新实例时,我们必须调用DbSet.Create
方法来创建代理。但是我们已经在使用带参数的构造函数了,把几十个类的构造函数调用改成静态方法调用DbSet.Create
会很长,很难做到。
在我们现在的情况下,还有其他更简单的方法来创建代理吗?
解决方案
推荐阅读
- php - 从头开始创建站点地图插件
- java - 我们如何使用 JPA 和 Hibernate 设置 Read Uncommitted 隔离级别?
- c++ - 在我使用 shared_ptr 之后,什么是“在抛出 'std::bad_weak_ptr' 的实例后调用终止”
- git - 是否可以为当前分支中的更改创建具有特定消息/名称的部分存储?
- android - Android - DisplayImageOptions cacheOnDisk - 它在我的磁盘上缓存多长时间或永久?
- php - 即使在浏览器关闭或进程失败后,Laravel 生成 PDF 的过程仍在进行中
- arrays - 有没有没有数组概念或使用其他东西的编程语言?
- python-3.x - ImportError:无法导入所需的依赖项:numpy:尝试迁移时出错
- javascript - AngularFireDatabase - 按子对象上的值总和对对象对象进行排序
- firebase - Firestore 联系人列表数据模型