Одно или несколько свойств ключа или внешнего ключа являются теневыми свойствами, и объект не отслеживается.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Одно или несколько свойств ключа или внешнего ключа являются теневыми свойствами, и объект не отслеживается.

Сообщение Anonymous »

У меня есть следующий класс сущности:

Код: Выделить всё

internal class ServicePackage {

[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }

[Required]
[ForeignKey("ServiceId")]
[DeleteBehavior(DeleteBehavior.ClientNoAction)]
public virtual Service Service { get; set; }

public decimal Cost { get; set; }
}
Очень редко при попытке прикрепить (

Код: Выделить всё

dbContext.ServicePackages.Attach
) экземпляр объекта, который уже был добавлен в базу данных, я получаю следующее исключение System.InvalidOperationException:

The навигация «ServicePackage.Service» не может быть загружена, поскольку одно
или несколько свойств ключа или внешнего ключа являются теневыми свойствами и
объект не отслеживается. Отношения, использующие теневые значения, могут
загружаться только для отслеживаемых сущностей.
Stack Trace:
Microsoft.EntityFrameworkCore.Internal.EntityFinder'1.GetLoadValues(INavigation,
InternalEntityEntry)
← Microsoft.EntityFrameworkCore.Internal.EntityFinder'1.Load(INavigation,
InternalEntityEntry, LoadOptions)
← Microsoft.EntityFrameworkCore.ChangeTracking.ReferenceEntry.Load(LoadOptions)
← Microsoft.EntityFrameworkCore.Infrastructure.Internal.LazyLoader.Load(Object,
String)
← Castle.DynamicProxy.AbstractInvoke.Proceed()
← Castle.Proxies.ServicePackageProxy.get_Service( )

В чем может быть проблема и почему ошибка возникает периодически?

Код: Выделить всё

DbContext.OnConfiguring
переопределение метода:

Код: Выделить всё

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
optionsBuilder.UseSqlServer(SqlConnectionString);
optionsBuilder.UseLazyLoadingProxies();
base.OnConfiguring(optionsBuilder);
}
Версия .NET: 8.0; Версия Microsoft.EntityFrameworkCore.SqlServer: 8.0.8

Подробнее здесь: https://stackoverflow.com/questions/791 ... -and-the-e
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»