Simpra .Net Bootcamp'i kapsamında üçüncü haftanın ödevi olarak bizden Simapi projesindeki Category ve Product modellerinin 1-M relation olacak şekilde yeniden modellememiz istendi. Bu proje Onion Architecture ve CQRS Design Pattern kullanılarak tasarlanmıştır. Projenin yapısı aşağıdaki gibidir:
- .Net 6
- MSSQL
- Swagger UI
- Entity Framework Code First
- Generic Repository Desing Pattern
- CQRS Design Pattern
- AutoMapper
- Onion Architecture
İlişkisel veritabanında 3 ilişki mevcuttur, bunlar:
- Birebir ilişki (one to one)
- Bire çok ilişki (one to many)
- Çoka çok ilişki (many to many)
Bize projemizde Category-Product arasında 1-n ilişki kurmamız istendi. Bire çok ilişkileri, tek bir varlık herhangi bir sayıda diğer varlıkla ilişkilendirildiğinde kullanılır. Örneğin, bir Category ile ilişkili birçok Product olabilir, ancak her Product yalnızca bir Category ile ilişkilendirilir. Entity Framework Code First'e uyarladığımızda:
Command ve Query sorumluluklarını ayırmamızı sağlayan bir paterndir.Projede bu şekilde uyguladım: