2010-06-19 17 views
8

Eski bir SQL Server 2008 veritabanına dayalı bir Entity Framework 4 modeli oluşturmaya çalışıyorum. Model bir web hizmetinde yayınlanacağından, modelin varlıklarından birinden NewsletterSubscribed adlı bir tamsayı sütunu çıkarmam gerekiyor. Varlık Çerçevesi: Varsayılan bir değere sahip olmasına rağmen sütun eşlenmelidir?

EF tasarımcısı sütunu çıkardıktan sonra aşağıdaki derleme hata var:

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 

Ama sütun buna bağlı 0 varsayılan değerine sahip görünüyor. Ben veritabanına karşı bu SQL deyimi çalışan çalıştı:

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

Ama bu da başarısız:

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.

Yani ya varsayılan bir değeri yoktur sütun (bu durumda ben neden olabilir emin değilim Bir tane oluşturmayın) veya Entity Framework bunu görmez. Ne oluyor?

sayesinde

Adrian

cevap

12

Açık ziyade Varlık Designer ile daha Visual Studio XML editörü ile .edmx ve SSDL bağlanılmayan sütuna bir DefaultValue="0" öznitelik eklemek. Bazı nedenlerden dolayı bunlar veritabanından oluşturulmamaktadır.

+0

Teşekkür ederiz! Haftalardır bununla uğraşıyordum ... –

İlgili konular