我正在研究一种可重用的数据库存储库方法,用于使用 EntityFramework 4.3 将实体附加和保存到数据库。
private void SaveObject<T>(T entityToSave, DbSet<T> dbSet) where T : class
{
if (db.Entry(entityToSave).State == EntityState.Detached)
{
if (entityToSave.Id == Guid.Empty) // how do I access the Id property?
dbSet.Add(entityToSave);
else
db.Entry(entityToSave).State = EntityState.Modified;
}
}
我遇到的问题是我需要告诉我的方法哪个属性是 Id,以便我可以检查它是否已设置。如果它是空的,那么我知道我正在创建一个全新的记录。否则,我正在修改现有记录。
如何告诉我的方法 Id 属性是什么?