In all fairness, writing in C# and targeting SQL Server is not locking you into Windows unless you use WPF or other Windows specific parts of the framework.
Sure, you can technically run C# on a Linux box (eg: Debian), but the last few times I had to (to interface with some point of sale hardware) I literally ended up just rewriting the driver in python. No desire to maintain something so foreign to the rest of the codebase when python can handle serial devices just fine.
Wrt not using a database connector, just why? Your literally locking yourself to the SQL Server licensing model, which blows up when you allow BYOD on every android phone, and they're all connecting back to your SQL server. Postgres and MariaDB meanwhile have no issues. Let alone if you hit the 10GB DB size cap, or need more than 1 cpu core or 1GB of ram to cache your database.
Are you aware that .netcore natively runs on a variety of systems now?
If you make your systems such that you are dependent on SQL Server and cannot switch it to something else, then it's just a shame, but don't blame SQL Server for that. Besides, unless you have massive performance requirements, it should be behind an API anyway. It doesn't take much to code, and it increases modularity a lot.
Not sure why you're getting downvoted. We use .net core together with SQL Server on Linux boxes in production, no issues whatsoever and we can finally use a programming language which is actually pleasurable to code in.
Sure, you can technically run C# on a Linux box (eg: Debian), but the last few times I had to (to interface with some point of sale hardware) I literally ended up just rewriting the driver in python. No desire to maintain something so foreign to the rest of the codebase when python can handle serial devices just fine.
Wrt not using a database connector, just why? Your literally locking yourself to the SQL Server licensing model, which blows up when you allow BYOD on every android phone, and they're all connecting back to your SQL server. Postgres and MariaDB meanwhile have no issues. Let alone if you hit the 10GB DB size cap, or need more than 1 cpu core or 1GB of ram to cache your database.