2011-12-15 103 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