Aktywny rekord i Entity Framework

Dzisiaj krótki post o wsparciu narzędzi ORM (konkretnie EF) da wzorca aktywny rekord. Tak naprawdę to co generuje nam EF jest już aktywnym rekordem. Wystarczy tylko uzupełnić wygenerowane klasy o logikę biznesową ponieważ w przeciwnym wypadku będzie to tylko czysta warstwa dostępu do danych.

Załóżmy, że mamy już wygenerowany jakiś diagram encji EF.Na tą chwile mamy wyłącznie  zaimplementowaną (a raczej wygenerowaną) warstwę dostępu do danych. W celu dodawania właściwej logiki biznesowej, należy stworzyć klasy częściowe dla wygenerowanych encji. Przypuśćmy, że w EF zmalowaliśmy tabelę Orders na encję Order. Aby dodać logikę biznesową powinniśmy napisać:

 

public partial  class Order
{
   public bool Validate()
   {
       // ...         
   }
   public int ComputeTotalDiscount()
   {
       // ...
   }
   public int EstimateDeliveryTime()
   {
       // ...
   }
}

 

Jak widać użycie AR w połączeniu z ORM jest bardzo proste. Nie piszemy żadnego nadmiarowego kodu. Wszelki powtarzalny kod (DAL) wygeneruje za nas EF. W naprawdę dużych projektach takie rozwiązanie jednak ma kilka istotnych wad ale o nich napisze w następnych poście, który zostanie poświęcony Domain Model.

2 thoughts on “Aktywny rekord i Entity Framework”

  1. coraz bardziej ogolnie opisujesz poszczegolne modele, dla kogos kto sie chce nauczyc mysle, ze mu to nic nie pomoze. ale ogolnie arty fajne

Leave a Reply

Your email address will not be published.