В настоящее время мы используем метод, который зависит от IObjectContextAdapter в абстрактном репозитории. Из того, что я читаю, кажется, что все, что связано с ObjectContext, измельчается из Entity Framework Core. Метод ниже - это единственное место, которое зависит от чего-либо, связанного с ObjectContext.Как получить значение первичного ключа в Entity Framework Core
Мы хотели бы перейти на платформу Entity Framework Core. Это наш единственный дорожный блок. Есть ли способ получить значение первичного ключа объекта с помощью Entity Framework Core apis?
// Entity Framework
public virtual int GetKey(T entity)
{
var oContext = ((IObjectContextAdapter)_DbContext).ObjectContext;
var oSet = oContext.CreateObjectSet<T>();
var keyName = oSet.EntitySet.ElementType
.KeyMembers
.Select(k => k.Name)
.Single();
return (int)entity.GetType().GetProperty(keyName).GetValue(entity, null);
}
спасибо за этот ответ. Похоже, он должен работать. На данный момент я не участвую в этом проекте, но я ожидаю, что вернусь к нему в ближайшем будущем. Я попробую, как только смогу. – cResults
- это Context.Model, добавленный в EF7? Я пытаюсь изменить среду EF6, но ломаю, потому что этого свойства не существует. – cResults
Да, это свойство EF7 (Core) – YuriyP