6 ms·
I want to like .Net Core, I really do. But in my opinion its just not yet ready for serious use. An example. If you want to use .Net Core you can't use entity
by SimonPStevens 8y ago
I want to like .Net Core, I really do. But in my opinion its just not yet ready for serious use.
An example. If you want to use .Net Core you can't use entity framework, you have to use EF Core, which doesn't yet support mapping to views or stored procs, only tables.
Now you might think that's fine, maybe you only want to map to tables. But it's the same story all over the ecosystem. Many major projects have a separate netfx and core package, and many times the core package has restricted functionality. You will almost certainly find a whole host of things you need are missing.
And then you get the fact that ASP.Net Core is dropping support for .Netfx in the next release, so if you want to use ASP.net Core you are now limited to EF core too, which means you are making a full jump and can't just go halfway first. And .netfx is now not going to support .net standard 2.1.
The list of incompatibilities and restrictions just goes on and on. I certainly can't keep the full list in my head. So right now I'm not really willing to commit to a new project of any significance on .net core because I know there will be dozens of missing dependencies or features.
You could argue this is just want it's like at the cutting edge, and the gaps will be filled in time. But .netfx is clearly already going into maintenance mode, so the push to move to .net core has already started.
- ajryan 8y agoWe use .NET core in production and are very happy. A mixture of EF Core (for ad-hoc queries) and Dapper (for stored procs) works just fine. Also, new in EF Core 2.1, you can map views and stored procs just fine: https://docs.microsoft.com/en-us/ef/core/modeling/query-types https://docs.microsoft.com/en-us/ef/core/modeling/query-type.... That's your only specific example - what other functionality are you missing? You're not willing to commit to .NET core but you admit that NetFx is going into maintenance mode?
- wolfspider 8y agoYes, totally agree- I worked on a project that wasn't Core but regular MVC + EF and Dapper which surprisingly worked out well. Actually so well I started mentioning it as a feature but really was just too lazy to redo all the dapper stuff since it worked so well.
- thepp1983 8y agoBecause it is cross platform and isn't really used cross platform it is a pain in the arse. SQL Aliases don't work. So people have to put in registry hacks into C# code (YAY back to 2002). Loads of missing functionality (e.g. GeneratePassword is missing in aspnet core). It is just incomplete. .NET 1.0 was more together than ASP.NET core and that was in 2002. We've lost loads of functionality in the spurious benefit of it running on multiple platforms. I was developing ASP.NET on Linux 5 years ago. It is more churn and burn for the small amount of devs that use dotnet without Windows.
- gameswithgo 8y agoMaybe you will find that rolling a little of your own code instead of depending on libraries as much is less hard than you imagined and has some nice benefits? EF isn't a necessity, many shops prefer not to use it at all. Core is the future so if one wants to keep using .NET at all they should find a way or switch to something else.
- TylerH 8y ago.NET Core is the future just like moving on from COBOL and FORTRAN was the move 30+ years ago, eh?
- deleted 8y ago[deleted]
- davedx 8y agoI'm working on a fairly complex e-commerce platform built on .Net Core, I'm really happy with it. We use EF core too. It's a pretty serious project, and for us, the benefits of our developers being able to natively develop on Macbooks and being able to deploy to Linux containers outweighs missing features. Swings and roundabouts...
- elorant 8y agoWhich IDE are you guys using?
- davedx 8y agoThe Windows guys are using VS Professional, I'm mostly using VS Community, though I've dabbled with Rider a bit. If I was starting out with zero VS experience I'd probably go for Rider, but I'm so used to VS I use that, even though Community isn't as good as Professional.
- zvrba 8y ago> you have to use EF Core, which doesn't yet support mapping to views or stored procs, only tables. At least this one is not true: https://docs.microsoft.com/en-us/ef/core/modeling/query-types https://docs.microsoft.com/en-us/ef/core/modeling/query-type...
- madeuptempacct 8y agoFunny, I tried .NET Core with EF at a Hackathon and thought EF really went a long way. Had no idea about the restrictions, thanks for the heads up. Btw, we use .NET core in prod, but we have weird DB access through a third party API, so I didn't need to think about data mapping.
- heywot 8y agoWe utilize EF Core on a fairly large project and have had zero issues mapping to views. I doubt there are issues at this point with SPs either though I haven't personally done that. EF Core has a lot of work that needs to be done (and features brought over) but for a lot of use cases, it works just dandy. I don't disagree with your comments about incompatibilities and restrictions - just wanted to set the record straight.
- polskibus 8y agoEF will be available in netcore 3.
- nobody271 8y agoYou said it better (and nicer) than I could have. You can extend this to .NET Standard. I mean, I love .NET. You can have Rust and functional programming and whatever else. .NET gets the job done pretty much all of the time for me. But when you reach for simple file system access or System.Drawing and they aren't available it makes you wonder how they are on version 2. That's pre-alpha if you ask me. Again, I think C# is a great language. I just feel a bit decieved about what .NET Core and .NET Standard are capable of. If the version number matched the capability I would probably be excited.
- eksemplar 8y agoWe've been a .net house for a decade, but we're moving away from .net and Core is a large part of it. Everything is so low level and so unproductive it's silly, and the only redeeming features was how well it integrated into the windows setting. But now with 3.0 they're removing every non-core library, meaning, it's really not a good choice. I'm sure it's fast, but if it takes longer to build and deploy, then it really doesn't matter to me. We can buy more iron a lot cheaper than we can buy more development hours after all. And I agree that it's not ready, I wanted to do a quick hobby thing on my Mac, and despite the development environment working well with VSC (as good as regular visual studio really) it's just terrible to run. .net watch breaks on Mojave, and despite issues on the GitHub there isn't a real fix in sight. Needing to reboot every-time you stop your development server for it to free the .net resource correctly is just silly. And that's not to speak on entity. If you've ever tried Django and migrations you'll probably never work with entity again and not hate it. In face, entity is unproductive we've stuck with LinqToSql for a long while, yes I know it's slower, but who cares if I save enough development hours to pay for a thousand years of server time?
- stillbourne 8y agoI don't think I can express exactly how wrong you are.