我已将代码的旧部分从 EF 移动到 linq2db,当我必须添加一个具有内部元素引用的标识的新项目时,我必须执行以下代码
if (axAnag == null)
{
axAnag = new DataModels.AX();
var idAnag= context.InsertWithInt32Identity(axAnag);
axAnag.IdAnagrafica = idAnag;
}
并在代码下方
fk.AxAnagraficaAssicurati = axAnag;
fk.StatusProtocollo = statusProtocollo;
fk.DataEsclusione = newAnagrafica.DataEsclusione ?? condizione.DataAnnullamento;
fk.DataInclusione = newAnagrafica.DataInclusione;
fk.DerogaEta = newAnagrafica.DerogaEta;
fk.ProgrCategoria = condizione.ProgessivoCategoria;
fk.IdCondizione = condizione.Id;
fk.IdCategoria = condizione.IdCategoria;
fk.DataOperazioneInclusione = DateTime.Now;
fk.HYPER = newAnagrafica.HyperService;
//GPA ticket 2017-0017962
fk.LimiteEtaSuperato = newAnagrafica.IsLimiteEtaSuperato;
//GPA cr24
fk.FlagConteggioRegolazionePremio = newAnagrafica.FlagConteggioRegolazionePremio;
fk.IdAnagrafica = axAnag.IdAnagrafica;
我不太清楚的是为什么我必须添加 id 和整个引用的项目?
fk.AxAnagraficaAssicurati = axAnag;
fk.IdAnagrafica = axAnag.IdAnagrafica;
在我的脚手架模型中
[Association(ThisKey = "IdAnagrafica", OtherKey = "IdAnagrafica", CanBeNull = true, Relationship = Relationship.ManyToOne, KeyName = "FK_BENEFIT_FK_ANAGRAFICA_ASS_POLIZZE_ANAGRAFICA", BackReferenceName = "BenefitFkAnagraficaAssPolizze")]
public AxAnagraficaAssicurati AxAnagraficaAssicurati { get; set; }
放一个还不够吗?并且也与插入有关axAnag
有没有办法我可以避免做
var idAnag= context.InsertWithInt32Identity(axAnag);
axAnag.IdAnagrafica = idAnag;
谢谢