Comments (8)
Sounds good, I'll take a look at getting a PR ready, will get in touch if I have any questions )
from venflow.
Thanks a lot for your contribution, I'll release a new version in a few days including this feature :)
from venflow.
First of all, thanks for your issue and a possible implementation! I have already thought about this in the past and I totally agree with you. However, it would make sense IMO to use the existing INpgsqlNameTranslator
that Npgsql already provides. There are already existing implementations even for snake_case, see here. The idea behind the INpgsqlNameTranslator
is to be only used for properties/columns. Anyhow I don't see any issue, if we would use it for tables as well.
from venflow.
Also you were already quite right about the direction of your implementation, but instead of just injecting the name translator, lets just inject the whole Database
, as this would be more future proof. This would even allow us to register PostgreSQL enums only on a database level, but I can do this afterwards.
from venflow.
Additionally I'd register the INpgsqlNameTranslator
through the DatabaseConfigurationOptionsBuilder
rather than the DatabaseOptionsBuilder
. The DatabaseOptionsBuilder
get called every time on instantiation in order to allow for dynamic configuration of those supplied values. DatabaseConfigurationOptionsBuilder
on the other hand will only ever be called once, which is enough for the INpgsqlNameTranslator
.
from venflow.
If you feel like making those changes and creating a PR, I'd more than appreciate it. If you need any help, let me know.
from venflow.
opened #24
from venflow.
happy to contribute )
from venflow.
Related Issues (20)
- Generate all necessary JSON & TypeConverter parsers AOT
- Investigate if it is possible and faster/more memory efficient to only use the arguments in string.Format when caching Expression queries HOT 3
- Remove the functionality to reuse a command, in order to reduce complexity and overhead HOT 1
- Interpolated method names should omit Interpolated and non-interpolated methods should include raw
- Add Venflow to grauenwolfs DotNet ORM Cookbook
- Create a lambda linker which will predict the names of all lambdas in any given class
- Add a fluent query building API
- Add a custom InterpolatedStringHandler to handle allocation free sql and parameter collection HOT 1
- Instantiate database table properties
- Build entity models and their relations from EntityConfigurations
- Add CRUD code generators
- Add csharpier to MSBuild
- Update docfx to version 3 beta
- updations in the readme file HOT 3
- Types used in the emitted SyntaxFactory code is not properly referenced HOT 1
- Format the generated source with CSharpier
- Provide a high level batching API of all CRUD methods through the new DbBatch API
- Rename Batch to Many to prepare for future Batch API
- Make cached entities immutable
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from venflow.