gpt4 book ai didi

c# - 如何更改关联字段的值

转载 作者:太空狗 更新时间:2023-10-29 21:26:01 27 4
gpt4 key购买 nike

我有 2 个类,它们之间有 LINQ 关联,即:

Table1:       Table2:
ID ID
Name Description
ForiegnID

这里的关联是Table1.ID -> Table2.ForiegnID

我需要能够更改 Table2.ForiegnID 的值,但我不能,我认为这是因为关联(当我删除它时,它起作用了)。

因此,有谁知道如何更改关联字段 Table2.ForiegnID 的值?

最佳答案

检查 designer.cs 文件。这是 key 的属性

[Column(Storage="_ParentKey", DbType="Int")]
public System.Nullable<int> ParentKey
{
get
{
return this._ParentKey;
}
set
{
if ((this._ParentKey != value))
{
//This code is added by the association
if (this._Parent.HasLoadedOrAssignedValue)
{
throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}
//This code is present regardless of association
this.OnParentKeyChanging(value);
this.SendPropertyChanging();
this._ParentKey = value;
this.SendPropertyChanged("ParentKey");
this.OnServiceAddrIDChanged();
}
}
}

这是关联属性。

[Association(Name="Parent_Child", Storage="_Parent", ThisKey="ParentKey", IsForeignKey=true, DeleteRule="CASCADE")]
public Parent Parent
{
get
{
return this._Parent.Entity;
}
set
{
Parent previousValue = this._Parent.Entity;
if (((previousValue != value)
|| (this._Parent.HasLoadedOrAssignedValue == false)))
{
this.SendPropertyChanging();
if ((previousValue != null))
{
this._Parent.Entity = null;
previousValue.Exemptions.Remove(this);
}
this._Parent.Entity = value;
if ((value != null))
{
value.Exemptions.Add(this);
this._ParentKey = value.ParentKey;
}
else
{
this._ParentKey = default(Nullable<int>);
}
this.SendPropertyChanged("Parent");
}
}
}

最好通过关联而不是键来分配更改。这样,您就不必担心父级是否已加载。

关于c# - 如何更改关联字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com