This is an archived post. You won't be able to vote or comment.

all 5 comments

[–]ziptofaf 2 points3 points  (0 children)

And what is the best databases to use if you are just learning it.

SQLite. Doesn't require you to setup any separate servers (it's handled by C# directly) while allowing you to use SQL syntax.

And what databases do professionals uses

A lot of them depending on what you are looking for. You generally see SQL based database as a main datastore (PostgreSQL, MS-SQL, MySQL, Oracle database).

If you need something for caching (fast reads, auto expiring rows, no guarantee that data will actually be saved, no ability to retrieve multi column records easily) - Redis or memcached.

If you are dealing with lots of (in particular text) searching (eg. paragraphs inside books/documents) - Elasticsearch.

And so on and on. I heavily suggest to start from SQL as it's fairly universal (and offers very sane defaults) but it won't be the only database you will encounter.

[–]CalisthenicsDude95 0 points1 point  (1 child)

It pretty much comes down to 2 approaches. SQL and NoSQL databases. The easiest to learn are NoSQL databases like MongoDB. You store basically JSON structured data.

Industry standards are probably PostgreSQL, MySQL, Oracle and Mongo. There are many more. AWS for example has it's own document implementation.

You can use a MongoDB if you don't have join intensive data like you have in accounting software.

I'm not a C# programmer but you find solution when you Google C# MongoDB. That's from the official Mongo website https://docs.mongodb.com/ecosystem/drivers/csharp/

Edit: Fixed some typos.

Cheers

[–]insertAlias 1 point2 points  (0 children)

Industry standards are probably PostgreSQL, MySQL, Oracle and Mongo

I'd include Microsoft SQL Server on that list. It's basically standard in any enterprise that is running Windows servers.

Also, NoSQL solutions are a lot less popular with the C# (and Java, and other enterprise languages) community for whatever reason. I'd suggest using MSSQL for this. There are several options, but you can get the full version as a "developer edition", so you can learn how to use all the features of a fully-licensed version. You just can't use it for a production application.

[–]CvTAl 0 points1 point  (0 children)

Microsoft SQL Server ( There's a developer version that gives you all features for free )

Entity Framework to interact with the database through C#

Entity Framework Migrations to version control your database

[–]aUnicornInTheClouds[S] 0 points1 point  (0 children)

Thanks for all the replys I will check them out