Fehler „Die Entität kann nicht verfolgt werden“ behebenC#

Ein Treffpunkt für C#-Programmierer
Guest
 Fehler „Die Entität kann nicht verfolgt werden“ beheben

Post by Guest »

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: Select all

Service.cs
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

Code: Select all

DefectMelEffectivityRepo.cs
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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post