2010-05-16 15 views
7

Używam Entity Framework 4 i mam pytanie:Jak ukryć kolumnę bazy danych w modelu encji?

Mam kolumnę hasło w mojej bazie danych, którą chcę zarządzać przy użyciu niestandardowego SQL. Więc nie chcę, żeby model coś o tym wiedział.

Próbowałem usuwając właściwość w oknie Szczegóły odwzorowania, ale mam błąd kompilacji:

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.

Więc zrobiłem pustych kolumn w bazie danych i zaktualizowany model. Teraz pojawia się ten błąd:

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]

Wszelkie pomysły proszę?

Dzięki Nick

Odpowiedz

4

Jednym ze sposobów, aby to naprawić jest stworzenie widoku tabeli użytkownika, który nie zawiera kolumnę hasło. Następnie użyj widoku w modelu zamiast w tabeli.

+0

Dzięki. Brzmi nieźle. –

10

Można po prostu oznaczyć właściwość jako prywatną przy użyciu panelu Właściwości w projektancie EDMX: W opcji generowania kodu dostępne są opcje Getter i Setter, które można zmienić z Public do Private.

+0

Dzięki. To jest szybkie rozwiązanie. –

Powiązane problemy