如果我使用Database First模型,更改跟踪代理是否有效?

时间:2014-08-11 11:51:35

标签: entity-framework-5

如果我使用Database First模型,更改跟踪代理是否有效?

使用数据库第一个设计器创建模型后,虽然导航属性标记为虚拟,但其他属性不是。

如果我编辑类以便属性是虚拟的(当然是公共的,而不是密封的,在需要的地方使用ICollection并从类构造函数中删除导航器的初始化),如果我从更新模型中更新模型,这将被覆盖设计师内部的数据库。

并且,如果我做了所有(我相信的)必要的更改以允许更改跟踪代理,当我用&#34测试时; x是IEntityWithChangeTracker"它仍然返回false。

所以,要么我真的做错了,要么我做了一些并非意味着做的事情。我希望它是前者。

1 个答案:

答案 0 :(得分:0)

EF6.x为其IEntityWithChangeTracker使用System.Data.Entity.Core.Objects.DataClasses。如果您使用此版本的IEntityWithChangeTracker,它将起作用。在这里使用System.Data.Objects.DataClasses.IEntityWithChangeTracker是我的问题。