Most of your questions are answered here. Also check this page for considerations. (Say, you cannot use update statement accross encrypted and unencrypted fields directly)
And then when you need to use it, simple enforce enforce encryption so the SQL Connection is encrypted, and automatically decrypted on your C# code.
No code change other than connection string change is required on application side.