No puede hacer esto en SQL normal; si debe tener nombres de columnas configurables (o nombres de tablas, para el caso), debe usar SQL dinámico; no hay otra forma de lograr esto. A continuación se muestra un ejemplo.
string sqlCommandStatement =
string.Format("("UPDATE users SET {0}[email protected], {1}[email protected]" ,column1, column2);
y luego use el proceso almacenado sp_executesql en SQL Server para ejecutar ese comando SQL (y especifique los otros parámetros según sea necesario).
También puede verificar esto artículo