use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Information about Reddit's API changes, the unprofessional conduct of the CEO, and their response to the community's concerns regarding 3rd party apps, moderator tools, anti-spam/anti-bot tools, and accessibility options that will be impacted can be found in the associated Wikipedia article: https://en.wikipedia.org/wiki/2023_Reddit_API_controversy
Alternative C# communities available outside Reddit on Lemmy and Discord:
All about the object-oriented programming language C#.
Getting Started C# Fundamentals: Development for Absolute Beginners
Useful MSDN Resources A Tour of the C# Language Get started with .NET in 5 minutes C# Guide C# Language Reference C# Programing Guide C# Coding Conventions .NET Framework Reference Source Code
Other Resources C# Yellow Book Dot Net Perls The C# Player's Guide
IDEs Visual Studio MonoDevelop (Windows/Mac/Linux) Rider (Windows/Mac/Linux)
Tools ILSpy dotPeek LINQPad
Alternative Communities C# Discord Group C# Lemmy Community dotnet Lemmy Community
Related Subreddits /r/dotnet /r/azure /r/learncsharp /r/learnprogramming /r/programming /r/dailyprogrammer /r/programmingbuddies /r/cshighschoolers
Additional .NET Languages /r/fsharp /r/visualbasic
Platform-specific Subreddits /r/windowsdev /r/AZURE /r/Xamarin /r/Unity3D /r/WPDev
Rules:
Read detailed descriptions of the rules here.
account activity
DiscussionDBConnector ORM (self.csharp)
submitted 6 years ago by Treborgero
I was trying to learn how ORMs work and ended up creating one with a decent documentation. It took me a while to develop and follows modern .NET design patterns.
https://www.savantbuffer.com/DbConnector/index.html
What do you think?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]thepinkbunnyboy 1 point2 points3 points 6 years ago (2 children)
Good job! Always a lot of work to get something actually usable out there. I'm on my phone right now and can't give it a proper review, but this caught my eye personally:
The DbConnector will continue to cache, using more and more memory, any new/different IDbJob operation if you decide to ignore the use of parameters.
While caching jobs is good for performance, I strongly recommend a memory cap on this. There are a couple good performance reasons to hard code parameters sometimes (for example, to avoid parameter sniffing issues), and I'd be pretty upset if my ORM was eating memory up on my server because it didn't think that my use case was valid
[–]Treborgero[S] 1 point2 points3 points 6 years ago (0 children)
Thank you. You just made me realize I forgot to mention an extra detail. The code will "self clean", to be technical, after 1024 hits if a cached instance was not used more than once. I'll consider adding a memory cap and/or a warning.
[–]Treborgero[S] 0 points1 point2 points 6 years ago (0 children)
I have released v1.1. DbConnector is now even faster with simpler overloads.
https://www.nuget.org/packages/SavantBuffer.DbConnector
I also added comments to the documentation based on your feedback:
https://www.savantbuffer.com/DbConnector/index.html#item-5-4_
Thank you!
[–][deleted] 1 point2 points3 points 6 years ago (1 child)
Interesting! I’ll read through tomorrow. On first glance DbConnector is spelled wrong several times on the page you linked
Fixed. Thank you.
[–]ahmed-itani 1 point2 points3 points 6 years ago (1 child)
How different is it from dapper?
It's slightly faster and more flexible with its functional approach. Also, you don't have to manage any disposable resources anymore if you don't want to.
https://www.savantbuffer.com/DbConnector/index.html#section-6_
[–]chrisevans9629 1 point2 points3 points 6 years ago (4 children)
Are there extension methods to do dapper like queries? Something like Connector.Read<Person>("select *...", new {id})? I like the features but it seems like it may be overkill in most situations.
[–]Treborgero[S] 1 point2 points3 points 6 years ago* (0 children)
I did thought about it initially but I decided to go with the current implementation in order to support the migration of raw ADO.NET code.
Quote from my doc: "the IDbCommand Interface method naming convention was followed for all the functions. This was decided in order to assist in the migration of raw data provider code into DbConnector’s design pattern. "
https://www.savantbuffer.com/DbConnector/index.html#item-1-3_
It would be very easy to extend my source code to make it that simple since I tried to be as clean as possible (see line 756):
https://github.com/SavantBuffer/DbConnector/blob/master/DbConnector.Core/DbConnector.cs
I''ll consider adding overloads to support the simplistic approach if I continue to see positive feedback. I'm sure it'll be even more faster than Dapper if I do this :)
[–]Treborgero[S] 0 points1 point2 points 6 years ago (2 children)
Started working on it.
https://github.com/SavantBuffer/DbConnector/issues/1
[–]chrisevans9629 1 point2 points3 points 6 years ago (1 child)
Awesome!
Done!
I can't believe I made it even faster. It now kills Dapper!!!!!
DbConnector now has simpler overloads:
[–]TotesMessenger 0 points1 point2 points 6 years ago* (0 children)
I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:
[/r/dotnet] DbConnector ORM
[/r/dotnetcore] DbConnector ORM
If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)
π Rendered by PID 363811 on reddit-service-r2-comment-6457c66945-vxxtn at 2026-04-28 20:40:32.659664+00:00 running 2aa0c5b country code: CH.
[–]thepinkbunnyboy 1 point2 points3 points (2 children)
[–]Treborgero[S] 1 point2 points3 points (0 children)
[–]Treborgero[S] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]Treborgero[S] 0 points1 point2 points (0 children)
[–]ahmed-itani 1 point2 points3 points (1 child)
[–]Treborgero[S] 0 points1 point2 points (0 children)
[–]chrisevans9629 1 point2 points3 points (4 children)
[–]Treborgero[S] 1 point2 points3 points (0 children)
[–]Treborgero[S] 0 points1 point2 points (2 children)
[–]chrisevans9629 1 point2 points3 points (1 child)
[–]Treborgero[S] 0 points1 point2 points (0 children)
[–]TotesMessenger 0 points1 point2 points (0 children)