Экземпляр типа сущности невозможно отследить, поскольку уже отслеживается другой экземпляр этого типа с тем же ключом. ⇐ C#
Экземпляр типа сущности невозможно отследить, поскольку уже отслеживается другой экземпляр этого типа с тем же ключом.
У меня есть объект службы Обновление
public bool Update (исходный объект, объект изменен) { вар originalClient = (Клиент)оригинал; вар модифицированныйКлиент = (Клиент)модифицирован; _context.Clients.Update(originalClient); // x.Id == searchId) .Include(x => x.Возможности) .ThenInclude(x => x.BusinessUnit) .Include(x => x.Возможности) .ThenInclude(x => x.Probability) .Include(x => x.Industry) .Include(x => x.Activities) .ThenInclude(x => x.User) .Include(x => x.Activities) .ThenInclude(x => x.ActivityType); } Есть идеи?
Я просмотрел следующие статьи/обсуждения. Безрезультатно: ASP.NET GitHub Issue 3839
ОБНОВЛЕНИЕ:
Вот изменения в GetAsNoTracking:
публичный клиент GetAsNoTracking (длинный идентификатор) { вернуть GetClientQueryableObjectAsNoTracking(id).FirstOrDefault(); } GetClientQueryableObjectAsNoTracking:
private IQueryable GetClientQueryableObjectAsNoTracking(long searchId) { вернуть _context.Clients .Where(x => x.Id == searchId) .Include(x => x.Возможности) .ThenInclude(x => x.BusinessUnit) .AsNoTracking() .Include(x => x.Возможности) .ThenInclude(x => x.Probability) .AsNoTracking() .Include(x => x.Industry) .AsNoTracking() .Include(x => x.Activities) .ThenInclude(x => x.User) .AsNoTracking() .Include(x => x.Activities) .ThenInclude(x => x.ActivityType) .AsNoTracking(); }
У меня есть объект службы Обновление
public bool Update (исходный объект, объект изменен) { вар originalClient = (Клиент)оригинал; вар модифицированныйКлиент = (Клиент)модифицирован; _context.Clients.Update(originalClient); // x.Id == searchId) .Include(x => x.Возможности) .ThenInclude(x => x.BusinessUnit) .Include(x => x.Возможности) .ThenInclude(x => x.Probability) .Include(x => x.Industry) .Include(x => x.Activities) .ThenInclude(x => x.User) .Include(x => x.Activities) .ThenInclude(x => x.ActivityType); } Есть идеи?
Я просмотрел следующие статьи/обсуждения. Безрезультатно: ASP.NET GitHub Issue 3839
ОБНОВЛЕНИЕ:
Вот изменения в GetAsNoTracking:
публичный клиент GetAsNoTracking (длинный идентификатор) { вернуть GetClientQueryableObjectAsNoTracking(id).FirstOrDefault(); } GetClientQueryableObjectAsNoTracking:
private IQueryable GetClientQueryableObjectAsNoTracking(long searchId) { вернуть _context.Clients .Where(x => x.Id == searchId) .Include(x => x.Возможности) .ThenInclude(x => x.BusinessUnit) .AsNoTracking() .Include(x => x.Возможности) .ThenInclude(x => x.Probability) .AsNoTracking() .Include(x => x.Industry) .AsNoTracking() .Include(x => x.Activities) .ThenInclude(x => x.User) .AsNoTracking() .Include(x => x.Activities) .ThenInclude(x => x.ActivityType) .AsNoTracking(); }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение