You could try the NuGet package GoogleMaps.LocationServices, or just spin of its source code. It uses Google’s REST API to get lat/long for a given address and vice versa, without the need for an API key.
You use it like this:
public static void Main()
{
var address = "Stavanger, Norway";
var locationService = new GoogleLocationService();
var point = locationService.GetLatLongFromAddress(address);
var latitude = point.Latitude;
var longitude = point.Longitude;
// Save lat/long values to DB...
}