在 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 中,如何对实体的自定义属性启用更改跟踪?的主要内容,如果未能解决你的问题,请参考以下文章