在 LinqToSql 中,如何对实体的自定义属性启用更改跟踪?

Posted

技术标签:

【中文标题】在 LinqToSql 中,如何对实体的自定义属性启用更改跟踪?【英文标题】:In LinqToSql how do you enable change tracking on an entity's custom property? 【发布时间】:2009-09-24 15:48:30 【问题描述】:

由于其他原因,我不得不在 ORM 中的实体中创建自己的属性,该实体是另一种实体的类型(关联有问题,所以改为这样做)。

问题在于,每当我对该属性进行更改时,它都不会被标记为更改,因此我无法对其调用 SubmitChanges。

所以基本上我的问题是,当我调用 SubmitChanges 时,有没有办法强制跟踪属性的更改?

谢谢。

【问题讨论】:

【参考方案1】:

您的自定义属性在数据库中有对应的字段吗?

我会先尝试将您的字段添加到数据库中。从 Linq2SQL 设计器中删除实体,保存设计器文件,将表从数据库资源管理器拖回设计器,然后再次保存。这将使用您想要的属性重新创建实体,并确保 SubmitChanges() 的所有挂钩都已到位。

【讨论】:

这可能会起作用,但是我添加的属性是自定义类型,即 MyEntity 不是字符串或整数 为此,您需要数据库中包含 MyEntity 字段的另一个表,外键指向原始表的主键。 然后,将新表拖到 Linq2SQL 设计器中,从而创建另一个实体。 是的,这实际上是我已经拥有的,但我的第一个实体中的属性 MyEntity 似乎没有跟踪对其任何字段的更改。 我需要查看更多细节才能知道发生了什么。实体图中的两个实体的图片会有所帮助。

以上是关于在 LinqToSql 中,如何对实体的自定义属性启用更改跟踪?的主要内容,如果未能解决你的问题,请参考以下文章

实体模型上的自定义吸气剂?

LinQ to SQL 查询

如何在 Swift 3 中将自定义类保存为 CoreData 实体的属性?

.net 实体框架与 LinqToSql 相比如何?

如何在 drupal 中的自定义实体上定义和执行 CRUD

带有实体框架的自定义函数