2010-06-19 14 views
8

Próbuję utworzyć model Entity Framework 4 w oparciu o starszą bazę danych SQL Server 2008. Ponieważ model zostanie opublikowany w serwisie WWW, należy pominąć kolumnę całkowitą o nazwie NewsletterSubskrybowane z jednego z elementów modelu.Entity Framework: kolumna musi być odwzorowana, chociaż ma domyślną wartość?

Po usunięciu kolumny w projektanta EF mam następujący błąd kompilacji:

Error 59 Error 3023: Problem in mapping fragments starting at line 356:Column Users.NewsletterSubscribed in table Users must be mapped: It has no default value and is not nullable. 
    C:\Users\Adrian\Documents\Sites\Zeiterfassung\Zeiterfassung\API\V1\EFModel.edmx 357 15 Zeiterfassung 

Ale kolumna wydaje się mieć domyślną wartość 0 związany z nim. Próbowałem uruchomiony ten SQL w bazie danych:

ALTER TABLE [dbo].[Users] ADD DEFAULT ((0)) FOR [NewsletterSubscribed] 

Ale to też nie:

Msg 1781, Level 16, State 1, Line 3 Column already has a DEFAULT bound to it. Msg 1750, Level 16, State 0, Line 3 Could not create constraint. See previous errors.

Więc albo kolumna nie ma wartości domyślnej (w tym przypadku nie jestem pewien, dlaczego mogę 't create one), lub Entity Framework go nie widzi. Co się dzieje?

Dzięki,

Adrian

Odpowiedz

12

Otwórz .edmx Studio z wizualny edytor XML zamiast z Designer Entity i dodać atrybut DefaultValue="0" do kolumny niezmapowanego w SSDL. Z pewnych powodów nie są one generowane z bazy danych.

+0

Dziękujemy! Zmagałem się z tym od tygodni ... –

Powiązane problemy