Fehler „Die Entität kann nicht verfolgt werden“ beheben
Posted: 14 Jan 2025, 09:59
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:
ist der Ort, an dem AddRangeAsync aufgerufen wird und der Fehler ausgegeben wird:
Entitätsklasse defektmeleffectivityentity.cs:
Entitätsklasse defektmelmasterentity.cs:
Wie kann ich das lösen?
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: Select all
Service.cs
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
Code: Select all
DefectMelEffectivityRepo.cs
Code: Select all
//DefectMelEffectivityRepo
await _dbContext.Set().
AddRangeAsync(defectMelEffectivityQueryList, cancellationToken);
await _dbContext.SaveChangesAsync(cancellationToken);
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});
}
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});
}