Comments (4)
The IElasticMapping interface lets you plug-in whatever mechanism you like. You could easily change the above example to use a dictionary and expose a SetDocumentType method on it to add to that dictionary.
from elasticlinq.
The ElasticContext constructor can take an object that implements IElasticMapping which is responsible for figuring out all typenames, property names etc. By default it instantiates a TrivialElasticMapping which does some things like camel casing etc.
I'd recommend starting with subclassing TrivialElasticMapping and just overriding what you need, e.g.
public class CustomElasticMapping : TrivialElasticMapping {
public override string GetDocumentType(Type type) {
if (type.Name == "CodesAntiTheftDeviceModel") return "antitheft_device_code";
return base.GetDocumentType(type).ToLower();
}
}
...
var context = new ElasticContext(..., new CustomElasticMapping());
from elasticlinq.
That is a workaround I can use for now but it would be nice to add something simpler so we can use in a base repository while creating the options/context or even a SetDocumentType(Type, string) method with holding internally a dictionary to resolve in runtime.
Thank you for your quick response.
from elasticlinq.
It's sufficient, it worked great!
from elasticlinq.
Related Issues (20)
- Migrate low level code to Elasticsearch.NET HOT 6
- Any way to override document type name used to generate URL? HOT 1
- Object initializer support for Select HOT 7
- Nullable Field Handling During Object Initialization HOT 1
- Projecting to a Different Type - Error Calling Function on Result HOT 8
- Return complex field on Select statement HOT 5
- FirstOrDefaultAsync not working HOT 8
- Using Predicates and Or HOT 2
- Connection to multiple hosts. HOT 3
- Is it possible to search by inner collection? HOT 5
- Update nuget to target dotnetstandard HOT 2
- Return complex array/list on select statement.
- How to pass DocumentType at the time of query HOT 11
- Is the library discontinued? HOT 2
- Appears to hang when querying latest version of ES (6.2.4) [simple fix] HOT 7
- .NET Standard Support HOT 5
- Multiple contains in a query is not working HOT 4
- Is this project no loger active? HOT 1
- Which paging mode is used? HOT 5
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 elasticlinq.