Właśnie zacząłem pracować ze strukturą Entity i jestem zdezorientowany tym, w jaki sposób klasy w warstwie biznesowej pasują do jednostek tworzonych przez Entity Framework .Nieporozumienia związane z logiką biznesową podczas korzystania z architektury Entity
Podczas pracy z klasycznym ADO.NET, mam klasę o nazwie Klient na przykład, a następnie inną klasę o nazwie DALCustomer do obsługi interakcji z bazą danych, w tej strukturze wstawiłbym kod do wykonywania obliczeń, filtrowania i usuwania instancji DAL z Klientem do zapisywania, aktualizacji i usuwania w klasie Klienta.
W przypadku Entity Framework, jeśli masz tabelę o nazwie Customer, struktura Entity tworzy encję o nazwie Customer i to tam zaczyna się moje zamieszanie, czy ta jednostka usuwa potrzebę Klienta w warstwie biznesowej? Więc w istocie wszystkie pola i metody, które normalnie wchodzą w warstwę biznesową, przechodzą w jednostkę wygenerowaną przez Entity Framework? A może klasa nadal istnieje w warstwie biznesowej o nazwie CustomerBL na przykład, która wciąż zawiera pola i metody potrzebne do osiągnięcia logiki biznesowej wymaganej do obliczeń, filtrowania i nadal potrzebuje instancji EF DAL zadeklarowanej do obsługi dostępu do danych?
Jeśli istnieje klasa biznesowa, w tym przypadku CustomerBL, pojawia się jeszcze jedno pytanie, czy pola utworzone w jednostce klienta powinny zostać odtworzone w CustomerBL lub czy instancja jednostki Klienta powinna zostać zadeklarowana w CustomerBL więc nie byłoby potrzeby zadeklarowania pól w 2 lokalizacjach?
Jak obsługiwać pola, które są generowane przez EF i są potrzebne w klasie BL? Czy możesz podać trochę próbki swojej metody? –
Cóż, brakuje tego, co napisałem, o tym, że potrzebujesz metod, które będą kopiować dane do/z obiektów BL/DAL, i oddzielasz się od DAL, implementując wzorzec repozytorium, abyś nie miał dostępu ObjectSets bezpośrednio, ale zamiast tego wywołujesz repozytoria dla operacji CRUD – dutzu
Częściowe klasy to sposób na radzenie sobie z nimi. –