Я хочу написать функцию, которая получает любой объект Entity
и находит текущее значение с помощью автоматически определяемого первичного ключа и обновляет его.Получить столбец первичного ключа из dbSet
Не могли бы вы указать мне направление.
public void Update(object entity)
{
using (var _db = new MyEntities())
{
var table = _db.Set(entity.GetType());
//Here we should somehow find the entity object which primary key coincides with the one of entity
var entityObj = table.FindObjectByPrimaryKey(entity);
entityObj.CopyDataFrom(entity);
_db.SaveChanges()
}
}
Возможно ли это?
У меня нет класса 'YourEnity'. Что я могу сделать, так это динамически получить тип экземпляра сущности: 'entity.GetType()'. – Vahagn
@Vahagn Вы должны сделать свой метод общим для начала. –
Добавление к решению врача, согласно https://michaelmairegger.wordpress.com/2013/03/30/find-primary-keys-from-entities-from-dbcontext/#comment-156, есть улучшения, которые необходимо предпринять (таких как производительность) к этому подходу. – Veverke