0

我正在使用实现 IObjectWithChangeTracker 的自我跟踪实体,最后一个实体框架 RC 可用作 Nuget。目标数据库是 PostgreSQL。我还使用 Code First fluent API 来构建模型和 LINQ to Entity 来查询数据库。

令我惊讶的是,对实体的简单 SELECT 查询会生成一个 SQL 查询,其中包含一个在数据表中不存在的神秘列ChangeTracker_ChangeTrackingEnabled !我不理解这种行为,因为在我看来 EntityTypeConfiguration 派生类将实体属性映射到其构造函数中的数据表列。

有没有办法禁用这种行为,或者至少告诉更改跟踪器应该映射哪一列?

为此,Context.Configuration.AutoDetectChangesEnabled = false或在 EntityTypeConfiguration 派生对象中调用IsConcurrencyToken()映射无济于事。

任何帮助表示赞赏。

TIA。

4

1 回答 1

0

NotMapped您必须通过使用属性标记属性或使用Ignore流式 API来告知 EF 您希望在映射中避免的每个公共属性。

顺便提一句。据我所知,STE 并非设计为与代码优先或 DbContext API 一起使用。

于 2012-06-20T09:05:41.473 回答