بهترین راه، همون بازنویسی برنامه هست. چون تغییرات زیادی باید اعمال کنی.
برا دتابیس میتونی با wine, sql server رو نصب کنی. البته فکر کنم درایور sql server ODBC هم توسط مایکروسافت منتشر شده (درمورد دومی زیاد مطمپن نیستم، یه سرچی توو گوگل بزن)
گزینه دوم هم اینکه به mysql سویچ کنی که این از اولی بهتره به نظر من.
اما در مورد کد ها و dll ها و api ها باید بگم همشون باید بازنویسی بشن. مثلا توو mono شما تحت gtk کار میکنید که اونم توابع مختص خودشو داره و با ویندوز فرق میکنه. ولی اگه برنامت تحت کنسول بود مشکلی برات پیش نمیومد. چون کد های کنسول mono و vs اکثرا یکی هستن.
البته من خودم توو لینوکس تازه واردم. و امیدوارم که اشتباه نگفته باشم. دوستان حرفه ای بهتر میتونن در این مورد نظر بدن.
راستی میتونی بجای استفاده از mono از دو محیط قدرتمند QT و یا Python GTKتوو eclipse استفاده کنی،(ولی باید گفت که اصلا شبیه c# ویندوز نیستن
)
اگه وقت آزاد پیدا کنم، کمکت میکنم.