I suppose this question could just as easily be applied to PHP with regard to MSSQL. However, with some versions of MSSQL being so expensive, I always wondered, what is the real advantage of choosing it over MySQL for .NET development? Is it really difficult to use .NET tools in conjunction with a MySQL database? Why not create some sort of DAO that abstracts out the differences between the two so that you can use both? As I consider building .NET apps, I'm always wondering, should I just go with MSSQL, and not even consider MySQL as an option?
views:
155answers:
3Typically, the fact MySQL came so late to the stored procedure party has kept many away from the database. However, I do like the database and use it with some regularity in my "outside the office" time. Did you know the BO ships Crystal with MySQL as its choice datasource?
As for .NET and what to do? If you do not need the advanced features, then I would recommend SQL Express Edition.
We've been using MySQL for our .Net project every since MySQL v4.1. We're now using v5.1 but we still didn't use Stored Procedure or Trigger, since we don't really need it and we prefer to be backward compatible with v4.1 in case our client still stick with v4.1.
The .Net/Connector provided by MySQL serve the job really well.
I would like to add some fact on SQL Express Edition mentioned by websch01ar, it has a 2GB/4GB (depending on version) database file size limit. It might seems that you'll never need all that space, but if you're like us, storing picture as blob, or storing acquisition data (scientific instrument) it will get filled up faster than you think.
I've been using NHibernate ORM as a way of abstracting MySQL, MSSQL and others. Perhaps it could work for you.