У меня есть таблица со следующим:
CREATE TABLE [Location]([ADDRESS1] [nvarchar](50) NOT NULL DEFAULT (' '));
Я импортирую ее в Entity Framework 4.1.
Дизайнер Entity Framework показывает это:
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.String ADDRESS1
{
get
{
return _ADDRESS1;
}
set
{
OnADDRESS1Changing(value);
ReportPropertyChanging("ADDRESS1");
_ADDRESS1 = StructuralObject.SetValidValue(value, false);
ReportPropertyChanged("ADDRESS1");
OnADDRESS1Changed();
}
}
private global::System.String _ADDRESS1 = " ";
partial void OnADDRESS1Changing(global::System.String value);
partial void OnADDRESS1Changed();
КогдаЯ создаю его, получаю файл * .web.g.cs в своем приложении Silverlight, и поле выглядит следующим образом:
[DataMember()]
[Required()]
[StringLength(50)]
public string ADDRESS1
{
get
{
return this._address1;
}
set
{
if ((this._address1 != value))
{
this.OnADDRESS1Changing(value);
this.RaiseDataMemberChanging("ADDRESS1");
this.ValidateProperty("ADDRESS1", value);
this._address1 = value;
this.RaiseDataMemberChanged("ADDRESS1");
this.OnADDRESS1Changed();
}
}
}
Я пропустил параметр в Entity Framework?Мне кажется, что если поле НЕ ПУСТО (NULL), генерация кода помечает это поле как обязательное, хотя я говорю, что по умолчанию это string.empty (или пусто).