2010-05-16 47 views
7

我正在使用實體框架4,並有一個問題:如何隱藏實體模型中的數據庫列?

我在我的數據庫中有一個密碼列,我想要使用自定義SQL來管理。所以我不希望模型知道這件事。

我試圖刪除的映射詳細信息窗口的財產,但後來我得到一個編譯錯誤:

Error 3023: Problem in mapping fragments starting at line 1660:Column User.Password in table User must be mapped: It has no default value and is not nullable.

所以,我做的數據庫列可空,並更新了模型。現在我得到這個錯誤:

Error 3004: Problem in mapping fragments starting at line 1660:No mapping specified for properties User.Password, User.Salt in Set Users. An Entity with Key (PK) will not round-trip when: Entity is type [UserDirectoryModel.User]

任何想法請嗎?

謝謝,來解決這個 尼克

回答

4

一種方法是創建用戶表的觀點,即不包括密碼列。然後在你的模型中使用視圖而不是表格。

+0

謝謝。這聽起來可行。 – 2010-05-17 05:59:13

10

您可以使用EDMX設計器中的屬性窗格將該屬性標記爲私有:在代碼生成選項下,它具有Getter和Setter選項,您可以將其從Public更改爲Private。

+0

謝謝。這是快速解決方案。 – 2010-05-17 05:59:38

相關問題