Ich versuche, ein Entity Framework 4-Modell auf der Grundlage einer alten SQL Server 2008-Datenbank zu erstellen. Da das Modell in einem Webdienst veröffentlicht werden soll, muss ich eine Integer-Spalte namens NewsletterSubscribed aus einer der Entitäten des Modells weglassen.
Nach dem Entfernen der Spalte im EF-Designer erhielt ich den folgenden Kompilierungsfehler:
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
Aber die Spalte scheint einen Standardwert von 0 zu haben, der an sie gebunden ist. Ich habe versucht, diese SQL-Anweisung in der Datenbank auszuführen:
ALTER TABLE [dbo].[Users] ADD DEFAULT ((0)) FOR [NewsletterSubscribed]
Aber auch das scheitert:
Msg 1781, Ebene 16, Zustand 1, Zeile 3 Spalte ist bereits mit einem DEFAULT gebunden gebunden. Msg 1750, Ebene 16, Zustand 0, Zeile 3 Konnte keinen Constraint erstellen. Siehe vorherige Fehler.
Also entweder hat die Spalte keinen Standardwert (in diesem Fall bin ich mir nicht sicher, warum ich keinen erstellen kann), oder Entity Framework sieht sie nicht. Was ist hier los?
Gracias,
Adrian