Fast Track Migration: The "Vital Core" Strategy
1. The Bottleneck "God Project"
Our analysis of EITWEP.Model.csproj reveals it is not just a Model. It is a "Monolith Backend" library containing:
- Dependencies:
System.Web,System.Web.Mvc,Kendo.Mvc,System.Drawing. - Logic: Full Business Components (
Business\Components\...). - Target: .NET Framework 4.8.
Impact: This project cannot be compiled to .NET Standard 2.1 / .NET 8 in its current state. It is too coupled to IIS and Windows.
2. The Solution: "Extract the Vital Core"
To unlock .NET 8+ "as soon as possible" (without rewriting 200k lines of code), we must extract only the Data Access Layer into a clean, portable library.
Architecture Shift
3. The 3-Step "Fast Track" Plan
Step 1: The "Surgical" Extraction (Approx. 1-2 Weeks)
Create a new project Wep.Core.Data (.NET Standard 2.1).
- Move the LLBLGen / Entity Framework generated files (
WEPV2DataContext, Entities) fromEITWEP.ModeltoWep.Core.Data. - Add
EntityFramework 6.4.4dependency toWep.Core.Data. - Verify: Ensure
Wep.Core.Datahas ZERO dependencies onSystem.WeborKendo.
Step 2: The "Link" (Approx. 1 Week)
Refactor the legacy EITWEP.Model:
- Remove the moved files.
- Add Reference to
Wep.Core.Data. - Fix Namespaces: Ensure the legacy code can still find
EITWEP.Model.Entities(using type forwarding or namespace matching). - Deploy: The Legacy App now runs on 4.8 but uses the Standard 2.1 Data Layer.
Step 3: The "New World" (Immediate)
Create WepNG.ModernAPI (.NET 10).
- Reference
Wep.Core.Data. - Start Building: You now have full access to the database in a modern, lightweight, Linux-ready environment.
- Migrate: Pick one slow feature (e.g., CodePromo Calculation) and rewrite it in this new API.
4. Why this is "Quanto Prima" (Fastest Possible)
- Zero Logic Porting: We don't try to fix the messy
Businesslogic initially. We leave it as "Legacy". - Parallel Development: As soon as Step 1 is done, your team can start writing standard .NET 10 code for new features.
- Low Risk: The Legacy App changes are minimal (just moving file locations).