2011-12-15 113 views
0

我在我的POCO上拥有以下属性,这些属性允许我轻松访问用户将能够将实体记录与我的审计和验证代码结合使用的标识条件...EF代码第一个未映射的属性?

有时候标识符是一个简单的2个或更多标量字段的连接,有时它有代码来检索和连接导航引用上的属性。

我并不需要存储在数据库的每个实体这个数据,但我确实希望能够访问它直通的DbEntityEntry,我试着用[NotMapped]装饰,但那么它是不能访问我的实体 ?

[Identifer] 
    public string Identifer 
    { 
     get { return HRContact.Identifer; } 
     set { } 
    } 

任何人都知道如何做到这一点?

感谢 格雷格

回答

1

我不知道你的意思是通过DbEntityEntry可以访问这些数据是什么。 DbEntityEntry包含对Entity属性中的实体的引用 - 您将可以访问该实体提供的任何属性。 DbEntityEntry也保存当前值和原始值的集合。这些集合将始终仅包含映射(持久)属性,因为EF从不处理未映射的属性。

+0

我说DbEntityEntry是因为我想在SaveChanges()期间使用这个Identifer属性作为只读获取器,以便以一种有意义的方式识别实体中的特定记录,而不是主键等。将在审计和验证代码中使用这个...我希望EF允许只读getter,并简单地忽略它们当生成SQL来更新数据库时... – 2011-12-15 19:03:42

相关问题