.net – 实体框架 – 从数据库更新模型… – 没有更新发生!
发布时间:2020-12-12 16:11:19 所属栏目:MsSql教程 来源:网络整理
导读:我的数据库中有一个名为CompanyDetails的表.它有一个名为CharacterID varchar(255)的列.我只是将它从NOT NULL列更改为NULL列.我在模型浏览器以及EDMX文件查看器中运行了’Update Model From Database …’命令.这是它在设计师中创建的: /// summary/// There
我的数据库中有一个名为CompanyDetails的表.它有一个名为CharacterID varchar(255)的列.我只是将它从NOT NULL列更改为NULL列.我在模型浏览器以及EDMX文件查看器中运行了’Update Model From
Database …’命令.这是它在设计师中创建的:
/// <summary> /// There are no comments for Property CharacterId in the schema. /// </summary> [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] [global::System.Runtime.Serialization.DataMemberAttribute()] public string CharacterId { get { return this._CharacterId; } set { this.OnCharacterIdChanging(value); this.ReportPropertyChanging("CharacterId"); this._CharacterId = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value,false); this.ReportPropertyChanged("CharacterId"); this.OnCharacterIdChanged(); } } private string _CharacterId; partial void OnCharacterIdChanging(string value); partial void OnCharacterIdChanged(); /// <summary> /// There are no comments for Property URLDomain in the schema. /// </summary> [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] [global::System.Runtime.Serialization.DataMemberAttribute()] public string URLDomain { get { return this._URLDomain; } set { this.OnURLDomainChanging(value); this.ReportPropertyChanging("URLDomain"); this._URLDomain = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value,true); this.ReportPropertyChanged("URLDomain"); this.OnURLDomainChanged(); } } private string _URLDomain; partial void OnURLDomainChanging(string value); partial void OnURLDomainChanged(); 你会注意到它有一个属性: [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] 我还包括下一个财产,你会注意到它被正确地标记为: [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] 是什么赋予了?如何在DB模式中进行简单的更改,并根据这些更改真正得到实体框架的更新?我不得不放弃并重新创建模型,每次有变化! 解决方法实体框架使用XML文件(edmx)来指定数据库方案和映射.当您单击“从数据库更新模型”时,这个已更新的edmx文件.接下来,当您编译应用程序时,将解析此edmx文件,并生成您正在查看的支持类,因此,如果要查看支持类中反映的更改,则需要更新模型,然后重新编译. 最后,你还必须记住,edmx包含3件事情. >数据库/存储方案(SSDL) 更新数据库并单击“更新”将更新SSDL,但不一定会自动对概念模型进行所需的更改,您可能需要打开edmx是设计器并检查该字段上的属性. (完全可以将一个可空的数据库字段映射到不可空的概念字段,但显然在这种情况下,这不是你想要的). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |