Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法交换成员,从而确定对象的证书。尝试使用新证书添加新对象_C#_Sql_Linq - Fatal编程技术网

C# 无法交换成员,从而确定对象的证书。尝试使用新证书添加新对象

C# 无法交换成员,从而确定对象的证书。尝试使用新证书添加新对象,c#,sql,linq,C#,Sql,Linq,嗨,伙计们!当我尝试使用“linq to sql”帮助更新我的表时,我得到一个异常,消息如下所示 无法交换成员,从而确定对象的证书。尝试使用新证书添加新对象,然后删除现有对象 在DB中我的表的构造是[Field1int,PK,Field2varchar15,PK,Field3varchar32,PK,Field4int,PK],没有任何约束和触发器 在MSSQL中,我可以执行任何操作,例如更新、插入和删除,但在我的应用程序中,我只能插入和删除我的记录 我的实体类,根据DB中的表 [数据合同] [

嗨,伙计们!当我尝试使用“linq to sql”帮助更新我的表时,我得到一个异常,消息如下所示

无法交换成员,从而确定对象的证书。尝试使用新证书添加新对象,然后删除现有对象

在DB中我的表的构造是[Field1int,PK,Field2varchar15,PK,Field3varchar32,PK,Field4int,PK],没有任何约束和触发器

在MSSQL中,我可以执行任何操作,例如更新、插入和删除,但在我的应用程序中,我只能插入和删除我的记录

我的实体类,根据DB中的表

[数据合同] [TableName=dbo.MyTable] 公共类MyTable:DataContext { 私人国际机场1; 私有字符串_Field2; 私有字符串_字段3; 私人国际机场4; 私人实体参考表1; 私人实体参考表2; 公共事件属性更改EventHandler属性更改; 公共事件属性更改事件处理程序属性更改; 私有静态属性ChangingEventArgs emptyChangingEventArgs=新属性ChangingEventArgsString.Empty; 受保护的虚拟空间SendPropertyChange { 如果此.PropertyChanging!=null { this.PropertyChangingthis,emptyChangingEventArgs; } } 受保护的虚拟无效SendPropertyChangedString属性名称 { 如果this.PropertyChanged!=null { this.propertyChanged此,新PropertyChangedEventArgspropertyName; } } 私有无效初始化 { 这个._MyTable1=新的EntityRef; 这个._MyTable2=新的EntityRef; } 公共MyTable { 初始化; } [AssociationsForeignKey=true,Name=MyTable\u MyTable1,OtherKey=Field4,Storage=\u MyTable1,ThisKey=Field4] 公共MyTable1 MyTable1 { 获取{返回此。\u MyTable1.Entity;} 设置 { MyTable1实体=此。\u MyTable1.entity; 如果实体==value&&this.\u MyTable1.hasloadeOrassignedValue 回来 这是SendPropertyChange; 如果实体!=null { 这是。_MyTable1.Entity=MyTable1null; } 这是。_MyTable1.Entity=值; 如果值!=null { this.Field4=value.Field4; } 其他的 { 这个字段4=0; } 此.SendPropertyChangedMyTable1; } } [AssociationsForeignKey=true,Name=MyTable\u MyTable2,OtherKey=Field1,Storage=\u MyTable2,ThisKey=Field1] 公共MyTable2 MyTable2 { 收到 { 返回此项。\u MyTable2.Entity; } 设置 { MyTable2实体=此。\u MyTable2.entity; 如果实体==值&&this.\u MyTable2.HasLoadedOrAssignedValue 回来 这是SendPropertyChange; 如果实体!=null { 这是.\u MyTable2.Entity=MyTable2null; } 这是。_MyTable2.Entity=值; 如果值!=null { this.Field1=value.Field1; } 其他的 { 这个.Field1=0; } 此.SendPropertyChangedMyTable2; } } [ColumnDbType=Int,Storage=_Field1,IsPrimaryKey=true,CanBeNull=false] [DataMemberOrder=1] 公共int字段1 { 收到 { 返回此字段。\u Field1; } 设置 { 如果是这样的话。_Field1!=值 { 这是。_Field1=值; } } } [ColumnDbType=VARCHAR15,存储=_Field2,IsPrimaryKey=true,CanBeNull=false] [DataMemberOrder=2] 公共字符串字段2 { 收到 { 返回此字段。\u Field2; } 设置 { 如果该值为.\u Field2!=值 { 这是。_Field2=值; } } } [ColumnDbType=VARCHAR32,存储=_Field3,IsPrimaryKey=true,CanBeNull=false] [DataMemberOrder=3] 公共字符串字段3 { 收到 { 返回此字段。\u Field3; } 设置 { 如果是这样的话。_Field3!=值 { 这是。_Field3=值; } } } [ColumnDbType=Int,Storage=_Field4,IsPrimaryKey=true,CanBeNull=false] [DataMemberOrder=4] 公共int字段4 { 收到 { 将此返回。_Field4; } 设置 { 如果是这样的话。_Field4!=值 { 这是。_Field4=值; } } } }
}

考虑到谷歌没有点击该异常消息,你能发布实际的异常信息吗
在信息上,而不是对它的评论?另外,您得到了哪种类型的异常?如果这是实际异常的翻译,请尝试在上查找英文版本。这也将帮助你在网上搜索它。我来自俄罗斯,我用俄语1收到了这个例外的信息。我的表格。Не удается изменить член, определяющий удостоверение объекта. Попробуйте добавить новый объект с новым удостоверением, а затем удалить существующий объект. 2.异常类型为System.InvalidOperationException 3。如果您给我一些关于如何用英语获取异常的信息,我将为您提供类型为“MyTable”的对象的成员“Field2”的itValue。无法更改定义对象标识的成员。考虑添加一个具有新身份的新对象,并删除现有的对象。HMM,在我看来,这个问题是由什么实体框架无法更新具有属性IsPrimaRealKe:Tror的字段而引起的……但是为什么不呢?linq很难使用sql?