当前位置: 首页 > 编程语言 > C#

属性“text”是对象关键信息的一部分,不可修改分享

时间:2023-04-10 11:42:49 C#

属性“text”是对象关键信息的一部分,不可修改(800)。当我尝试这样做时:尝试{UserTable=(fromxinentities.userTablewherex.uID==uIDselectx).Single();UserTable.DateCreated=DateTime.Now;UserTable.text=新文本;更新(用户表);我在捕获中得到异常:“属性‘文本’是对象关键信息的一部分,不能修改。”当我查看表格时,在“Key”或“Index”下看不到任何内容。所以这不是关键,我不明白为什么C#会给我不正确的信息。SQLManagementStudio中没有任何内容表明“文本”是键或索引。我该怎么办?桌上有PK吗?如果不是,EF使用所有字段/列作为“关键信息”的一部分。双击Models文件夹下的edmx文件可以查看数据模型。确保键映射正确。如果右键单击列,则可以切换“实体键”属性。一旦相关列未标记为实体键,您应该能够更新该值。按照这些简单的步骤进行操作第1步:检查您的表在数据库中是否有主键列。如果它没有任何主键,则添加主键。因为如果我们不向表中添加主键,那么实体框架会创建自己的键集合并添加其中的所有列。第二步:打开.edmx文件查看表对象映射。您将能够看到表格的每一列都有一个像主键一样的图标。因此,单击您的页面并从数据库更新.edmx。第3步:如果在单击列名称时仍然在所有列上看到相同的主键图标,则需要逐一更新并转到属性窗口并将“SetEntityKey”属性设置为false。这里的问题是EntityFramework无法更改特定表的主键。现在,如果您没有为表指定主键,实体框架会将所有内容都视为主键,因此您将无法对表进行更改。您需要做的是,在表中定义主键,从模型浏览器中删除模型中的表,然后将表添加回模型中。这肯定会解决它。快乐的编码。干杯!以上为C#学习教程:“文本”属性是对象关键信息的一部分,分享的全部内容不可修改。如果对大家有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: