Die Entitäten „defectmelmaster“ und „defectmeleffectivity“ haben den gleichen Primärschlüssel.
Nachdem ich die Listen erstellt habe, möchte ich diese separaten Listen für „defectmelmaster“ und defektmeleffectivity.
Nachdem jedoch defektmelmaster AddRangeAsync erfolgreich war, löst defektmeleffectivity AddRange einen Fehler aus:
Entität kann nicht verfolgt werden, da dieselbe Instanz ...
ist der Ort, an dem die Listen erstellt und Repo-Einfügemethoden aufgerufen werden:
Code: Select all
foreach (var val in entities)
{
var defectMelMasterQuery = FormatDefectMelMasterQuery(val, userRegisterId);
var defectMelEffectivityQuery = FormatDefectMelEffectivityQuery(val, userRegisterId);
}
defectMelMasterQueryList.Add(defectMelMasterQuery);
defectMelEffectivityQueryList.Add(defectMelEffectivityQuery);
await _defectMelMasterRepository.InsertDefectMelMaster(defectMelMasterQueryList, cancellationToken);
await _defectMelEffectivityRepo.InsertDefectMelEffectivity(defectMelEffectivityQueryList, cancellationToken); //throws the error
ist der Ort, an dem AddRangeAsync aufgerufen wird und der Fehler ausgegeben wird:
Code: Select all
//DefectMelEffectivityRepo
await _dbContext.Set().
AddRangeAsync(defectMelEffectivityQueryList, cancellationToken);
await _dbContext.SaveChangesAsync(cancellationToken);
Entitätsklasse defektmeleffectivityentity.cs:
Code: Select all
public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("DEFECT_MEL_EFFECTIVITY", schema: "XXX");
builder.Ignore(x => x.Id);
builder.HasKey(f => new {f.AcType, f.AcSeries,
f.MelNumber, f.MelSub, f.Ac, f.Company});
}
Entitätsklasse defektmelmasterentity.cs:
Code: Select all
public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("DEFECT_MEL_MASTER", schema: "XXX");
builder.Ignore(x => x.Id);
builder.HasKey(f => new {f.AcType, f.AcSeries,
f.MelNumber, f.MelSub, f.Company});
}
Wie kann ich das lösen?
Die Entitäten „defectmelmaster“ und „defectmeleffectivity“ haben den gleichen Primärschlüssel.
Nachdem ich die Listen erstellt habe, möchte ich diese separaten Listen für „defectmelmaster“ und defektmeleffectivity.
Nachdem jedoch defektmelmaster AddRangeAsync erfolgreich war, löst defektmeleffectivity AddRange einen Fehler aus:
Entität kann nicht verfolgt werden, da dieselbe Instanz ...
[code]Service.cs[/code] ist der Ort, an dem die Listen erstellt und Repo-Einfügemethoden aufgerufen werden:
[code]foreach (var val in entities)
{
var defectMelMasterQuery = FormatDefectMelMasterQuery(val, userRegisterId);
var defectMelEffectivityQuery = FormatDefectMelEffectivityQuery(val, userRegisterId);
}
defectMelMasterQueryList.Add(defectMelMasterQuery);
defectMelEffectivityQueryList.Add(defectMelEffectivityQuery);
await _defectMelMasterRepository.InsertDefectMelMaster(defectMelMasterQueryList, cancellationToken);
await _defectMelEffectivityRepo.InsertDefectMelEffectivity(defectMelEffectivityQueryList, cancellationToken); //throws the error
[/code]
[code]DefectMelEffectivityRepo.cs[/code] ist der Ort, an dem AddRangeAsync aufgerufen wird und der Fehler ausgegeben wird:
[code]//DefectMelEffectivityRepo
await _dbContext.Set().
AddRangeAsync(defectMelEffectivityQueryList, cancellationToken);
await _dbContext.SaveChangesAsync(cancellationToken);
[/code]
Entitätsklasse defektmeleffectivityentity.cs:
[code]public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("DEFECT_MEL_EFFECTIVITY", schema: "XXX");
builder.Ignore(x => x.Id);
builder.HasKey(f => new {f.AcType, f.AcSeries,
f.MelNumber, f.MelSub, f.Ac, f.Company});
}
[/code]
Entitätsklasse defektmelmasterentity.cs:
[code]public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("DEFECT_MEL_MASTER", schema: "XXX");
builder.Ignore(x => x.Id);
builder.HasKey(f => new {f.AcType, f.AcSeries,
f.MelNumber, f.MelSub, f.Company});
}
[/code]
Wie kann ich das lösen?