I get a nightly update of all users' profile properties via csv. I would like to setup the User Profile Service App to sync to that CSV. I assume this shouldn't be terribly difficult and has likely been done before. However my Google-Fu is not up to snuff and I cannot find any good examples. I have found some examples using PowerShell but I thought that using BCS and sync might be a better idea. Could someone please help me find an example of doing this in C#?
Personally, I would use PowerShell. But, if you really must use BCS, look at the samples for creating a custom BSC Connector to XML, XLS, or CSV. There are several out there. Scot Hillier wrote the book and there are samples in there: http://www.amazon.com/Professional-Business-Connectivity-Services-SharePoint/dp/047061790X
Once you have the BCS connection working you then create a secondary sync connection in the UPA for your BCS import and identify the key, like email or username.
Note, you will still need an LDAP source for initially creating users.