Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation for custom data layer #49

Open
CrossBound opened this issue Sep 26, 2020 · 2 comments
Open

Documentation for custom data layer #49

CrossBound opened this issue Sep 26, 2020 · 2 comments
Labels
question Further information is requested

Comments

@CrossBound
Copy link
Contributor

I am considering writing my own data layer (for performance reasons) instead of using EF (the only option provided out-of-the-box). I don't see any documentation on what is required to implement the data layer though. Is it as simple as implementing all the interfaces in https://github.com/PiranhaCMS/piranha.core/tree/master/core/Piranha/Repositories or is there more to it?

@tidyui tidyui added the question Further information is requested label Sep 26, 2020
@tidyui
Copy link
Member

tidyui commented Sep 26, 2020

No that's basically it. All validations, caching and logic is handled in the services, so the repositories is all about just storing and retrieving data. However, we initially built the data layer with Dapper, but since EF Core is so fast, we didn't really see any upside of handling schema creation and migrations manually.

Where have you experienced performance issues with the EF Core data layer?

@CrossBound
Copy link
Contributor Author

Startup is the most noticeable but in my application, I have a page with an archive of recordings that will need to be searchable by several different fields (not just tags). I think good indexes and a good database architecture will be paramount to enabling fast searching.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants