Entity Framework - генерация кода службы Ria - PullRequest
1 голос
/ 23 июня 2011

У меня есть таблица со следующим:

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 (или пусто).

1 Ответ

1 голос
/ 30 июня 2011

NOT NULL означает, что требуется.Это единственное, что контролирует, где должно быть указано значение.

Пустая строка для новых записей не означает, что вы не можете явно вставить значение NULL, но NOT NULL остановит васделает это.

...