I need to rewrite old ASP.NET web forms VB application to new ASP.net mvc in c#.
Problem is that most of the old application logic for data inserting retrieval is written in stored procedures, which got messy over time, as old team was adding tons of stored procedures, which are doing the same thing, but contained small fixes over time, such as FetchById1, FetchById1_fixed etc..
I want to move away from that, and use ORM such as entity framework, but database design is not very ORM friendly. Data is scattered around, requires a lot of joins to query data, which would make EF queries very slow, especially because application is mostly read oriented. Aprox 50-60 people are inserting news article at the same time, and load can be up to 10-30k simultaneous users (according to analytics realtime).
Since main domain is around news articles and articles table, my plan is to add a database trigger which will trigger http call to a small service on our server, and signal id of newly created or updated article. Service will contain all necessary logic for mapping data from old to new database. (initial plan was to use some kind of message queue, but we do not want to touch legacy code of an old CMS).
This way, i plan to achieve that everything can function normally in our legacy system, but our team can develop applications which will be connected to a new database.
Am I on the right track? Should I consider some other approaches?