Para trabajar con c# y mysql necesitas el .net connector de el propio sitio de mysql lo podes conseguir y ese vas a utilizar para conectarte, ahi te dan unos ejemplos de como utilizarlo en el sitio de descarga.
Yo cuando en una epoca necesite usar eso en realidad no encontre muchos recursos de c# y mysql por lo que lo unico que medio me sirvio fue el sitio de vbmysql.com en donde hay ejemplos de vb.net con mysql, adivinando y tratando de hacerle el pegue logre hacer que los ejemplos de vb.net me corrieran en c# tal vez eso te sirve tambien.
Con respecto a lo de asp.net corriendo en apache hay maneras de hacerlo pero segun he leido tenes que conseguirte un monton de herramientas para lograrlo.
http://www.theserverside.net/discussions/thread.tss?thread_id=34824
http://apache2triad.net/forums/archive/o_t__t_1680__adding-support-for-asp.net.html
La verdad es que no te recomendaria utilizar apache, simplemente apache no es muy utilizado en esa combinacion, y muy pocas de las personas fieles a apache por no decirte casi que ninguna lo utilizan para eso.
Si vas a utilizar c# es porque tenes la idea de hacerlo para windows, y si lo vas a usar para windows usa el IIS, cuando tengas intenciones de usar perl o php o python oalgo asi por el estilo ahi es donde te recomiendo apache