父表。
public class Indent
{
public int ID { get; set;}
public virtual ICollection<IndentTable> IndentTableCollection { get;
set; }
public virtual int StoreID { get; set; }
}
由于需要下拉列表,子表包含master,下拉数据来自master
public class IndentTable
{
public int ID { get; set;}
public virtual string ContractorName { get; set; }
public virtual MasterRegister.MasterRegister MasterRegister { get; set;
}
public virtual long IndentID { get; set; }
}
在创建缩进或缩进
之前,主表已可用public class MasterRegister
{
public int ID { get; set;}
public virtual string MaterialNameWithDescription { get; set; }
[StringLength(20)]
public virtual string MaterialUnit { get; set; }
}
主寄存器已经创建了一个新创建的Indent,只需要添加Indent和IndentTable,但实体freamework也尝试添加MasterRegister。
我需要在引用master时创建新的Indent和IndentTable,但Master保持不变。
任何建议。
答案 0 :(得分:0)
谢谢Smit我通过搜索google上的相关内容获得了ans。
foreach (var indentTable in indent.IndentTableCollection)
{
MAS.Core.Domain.Store.MasterRegister.MasterRegister masterregister = indentTable.MasterRegister;
_context.Entry(masterregister).State = EntityState.Unchanged;
}
使用此代码不会更改为masterregister,并且一切正常。