Which database would you recommend to use with C# (.NET) application?

后端 未结 13 1645
眼角桃花
眼角桃花 2021-01-05 08:38

I\'m developing a little project plan and I came to a point when I need to decide what local databse system to use.

The input data is going to be stored on webserver

相关标签:
13条回答
  • 2021-01-05 08:54

    For quick and dirty I'd go with Sql Server Compact Edition. Its an in-process implementation of Sql Server, so it doesn't require you install any other applications.

    Back in the day, you'd use an Access database for this kind of thing. But Access databases kinda blow.

    It wouldn't take much to upload your finished data back to the production server. If you're looking for a solution that automates that process, you'll probably need to look at hosting an instance of MySql locally and use whatever replication services it provides.

    0 讨论(0)
  • 2021-01-05 08:54

    For what you described, definitely MS SQL Server. Good performance, good tools. Free.

    0 讨论(0)
  • 2021-01-05 08:55

    I've been doing some testing as of late and though I'd also recommend SQL Server 2005 (Express if needed) because it works out of the box though SQL Server 2008 is new and RTM'd now.

    0 讨论(0)
  • 2021-01-05 08:58

    Depends on how distributed your application is going to be. For standalone applications serving a few users (or single users on a single machine) SQLite is extremely fast and efficient. The main problem with SQLite is that it does not officially support parallel writes. This won’t create a problem for you in lightweight applications; however, serving millions of users online would be inefficient with SQLite.

    Another important issue is FTS (Full Text Search). Is your application going to search for entire words instead of single/multiple characters? If so, consider Microsoft SQL server, because making FTS work on SQLite is a big headache and almost impossible on some Operating Systems (including Linux.) MS SQL server, however, can enable FTS even after database creation, with a few clicks.

    In terms of responsiveness, I have ran many tests and SQLite has been usually faster than MS SQL server by 10–20 milliseconds, for simple queries. Again, performance tuning in MS SQL server is possible and the ecosystem is very powerful.

    So I highly recommend working with MS SQL server.

    0 讨论(0)
  • 2021-01-05 08:58

    The "obvious" choice would be MS SQL Server Express. VS and .net both support it natively and if you've experience with it already (for the main DB), I'd certainly be tempted to stick with it (or its express version).

    But that's certainly not the end of your options. I use SQLite a lot for cross-platform applications and web-apps. It's eye-wateringly-fast and it does integrate pretty well through System.Data.SQLite -- albeit not as tightly as MS SQL Server.

    There's also a Compact edition of SQL Server that compares quite well to SQLite.

    0 讨论(0)
  • 2021-01-05 09:06

    I say go with Sql Server Compact Edition. It's real similar to the full blown version of SQL Server, and VS2008 has built in support for designing tables, querying etc. (Management Studio 2008 also has support for it). The biggest downside is that you lose out on stored procedures, but the upside is great as there's no need to install anything on the local users machine, and it works real fast for selecting data. Even cooler, is that with SQL Metal, you can create a DBML file and use LINQ just as you would with Sql Server.

    0 讨论(0)
提交回复
热议问题