Obecnie używamy poniższej metody, która zależy od IObjectContextAdapter w abstrakcyjnym repozytorium. Z tego, co czytam, wynika, że wszystko co związane z ObjectContext jest wycinane z Entity Framework Core. Poniższa metoda jest jedynym miejscem, w którym polegamy na czymkolwiek związanym z ObjectContext.Jak uzyskać wartość klucza podstawowego za pomocą Entity Framework Core
Chcielibyśmy dokonać aktualizacji do Entity Framework Core. To jest nasz jedyny blok drogowy. Czy istnieje sposób na uzyskanie wartości klucza podstawowego jednostki z 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);
}
Dzięki za tą odpowiedź. Wygląda na to, że powinno działać. W tej chwili nie jestem w tym projekcie, ale spodziewam się, że wrócę do tego w najbliższej przyszłości. Wypróbuję to tak szybko, jak będę mógł. – cResults
to Context.Model dodany w EF7? Próbuję zmiany w środowisku EF6, ale zerwanie, ponieważ ta właściwość nie istnieje. – cResults
Tak, jest to własność EF7 (Core) – YuriyP