Comments (6)
Enhancement added!
61bbd0d
Shared collections will no longer default to id
as a partition key.
Thanks for the suggestion.
from cosmonaut.
Hello Ryan,
You are totally right, I actually wanted to remove this limitation.
Still haven’t figured out what would be the best way to tackle it from a coding standpoint (how the consumer will set this partition key even if the two objects don’t have the same interface), but I will come up with something.
Thanks for the feedback.
from cosmonaut.
I can take a look and submit a PR and we can go from there, if you like
from cosmonaut.
Currently the way to specify the partition key on the dto level is to use the [CosmosPartitionKey] attribute. This makes Cosmonaut to do all the partition key stuff automatically. It would be nice if the solution is something along those lines.
Of course if you can think of something better I’d be more than happy to hear it (or even see it with a PR)
from cosmonaut.
Ok after I had a coffee I think I have a plan of attack.
- Remove the SharedCollection default to
/id
partition key logic. - Honor the
[CosmosPartitionKey]
attribute in entities that are part of shared collections. - Let the user deal with the errors when they have PartitionKey inconsistencies between two different entities that are sharing a collection but also make the right way to do it really clear in the documentation.
I still have one unanswered question though.
In the CollectionCreator
's logic, if they don't specify the [CosmosPartitionKey]
do I default it to /id
or do I just create it without a partition key at all, limiting them in 10 GB?
I'm leaning towards the second one because it gives more control to the user. What do you think?
from cosmonaut.
Very cool!
from cosmonaut.
Related Issues (20)
- RequestRateTooLarge in AppInsights HOT 5
- how can i add attachements? HOT 1
- Continuation token does not work if first page contains all null in orderby field HOT 1
- Pagination with MAX_ITEM_COUNT -1 HOT 3
- CosmosStore.AddAsync with RequestOptions throws RuntimeBinderException when using TypeNameHandling.All HOT 4
- Cosmonaut v3 SDK
- Exception: There is no way this will ever be thrown. (What all great developers say) HOT 3
- Polymorphic Store type HOT 2
- Exceition: FindAsync returning Resource Not Found HOT 1
- v3 SDK - WithPagination with token missing? HOT 1
- Timeline for v3 HOT 5
- Problem using Cosmos Resource Tokens HOT 1
- I'm going for EF Core 3.1 for Cosmos Db mapping. Did I miss something? HOT 4
- Query execution metrics HOT 1
- Customize the CosmosEntityName property to avoid data migration HOT 1
- WithPagination - have I can repeat my query?
- Failing on unit tests when calling ToListAsync()
- [FEATURE][QUESTION] support for geospatial queries?
- Exception: The input authorization token can't serve the request.
- Error because constructor is missing for the CosmosStoreTrigger extension for azure functions
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 cosmonaut.