using System.Collections.Generic;
public static void Main()
Program p = new Program();
p.AddOrUpdate<User>(new User(){ id = 1});
public void AddOrUpdate<TEntity>(TEntity entity)
var key = entity.GetType().GetProperties().FirstOrDefault(p => p.Name.ToLower().Contains("id")).GetValue(entity);
throw new ArgumentNullException("entity");