实体框架 - Ria服务代码生成

时间:2011-06-23 19:16:38

标签: silverlight-4.0 entity-framework-4 wcf-ria-services

我有一张包含以下内容的表格:

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();

当我构建它时,我在Silverlight应用程序中获得了一个* .web.g.cs文件,该字段如下所示:

 [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();
                }
            }
        }

我是否错过了实体框架中的设置?在我看来,如果该字段是非NULL代码生成正在根据需要标记该字段,即使我告诉它默认是string.empty(或空白)。

1 个答案:

答案 0 :(得分:1)

NOT NULL表示必需。这是控制必须提供值的唯一方法。

新记录的空字符串并不意味着您无法显式插入NULL值,但NOT NULL将阻止您这样做。