via Wykop Mobilny (Android)
  • 0
Jak robię zapytanie do bazy, a w zasadzie do widoku w bazie przy pomocy Linq przez ORM, to to zapytanie dociąga wszystkie rekordy z widoku i dopiero potem wykonuje się query czy query jest jakoś bardziej zoptymalizowane?

Sorry za składnie. Późno jest.

#entityframework #csharp
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@harakiri888: Wtedy przy każdej odpytce bazy musiałbyś zaciągać całą zawartość tabeli, mordując wydajność. Entity generuje na podstawie Twojego Linq kod SQLa, dopiero przy określonych metodach (np. ToList()) następuje wycieczka do bazy
  • Odpowiedz
@budyn: ogólnie też już od jakiegoś czasu nie używam repo. Zwłaszcza że ef da się testować. Natomiast trochę nie do końca mi odpowiada traktowanie obiektów domenowych jako modeli do zapisu, bo przy skopanym schemacie, na który nie ma się wpływu traktowanie obiektów domenowych jako modeli do zapisu powoduje, że te obiekty nie będą wyglądać tak jak powinny - biznesowo - tylko będzie w nich dużo kombinacji żeby orm dane zapisał.
  • Odpowiedz
Jakie macie metody mapowania obiektów domenowych na obiekty, z których korzysta Entity Framework?
Używanie bezpośrednio obiektów z DbContext może i jest wygodne, ale w przypadku podpinania nowego softu do istniejacego schematu bazy danych(który np. jest skopany i nie ma możliwości jego zmiany), może nieźle popsuć sens od strony logiki biznesowej.

#programowanie #csharp #entityframework
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pepepanpatryk: Automapper ma metode rozszerzająca do query na db context, szukaj w Google jak sie używa(nazywa się jakoś ProjectTo czy jakoś tak i przy select jest fajna opcja bo pobiera tylko to co potrzebujesz z bazy.
  • Odpowiedz
Szukam jakiegoś pokazowego kodu źródłowego (jakiegoś rozbudowanego dema) z implementowaną bazą danych( #entityframework ) , dobrymi wzorcami itp. Tak aby przeanazliwać sobie kod i rozwiązania, czasami mam chwilę w pracy i przeglądnął bym sobie cudze i ciekawe projekty.

Ma ktoś propozycje lub jakieś projekty z gita które są warte uwagi i dobrze napisane? (Hindusi i jakieś projekty do tutorialów odpadają)

#naukaprogramowania #csharp #programowanie a
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#csharp #entityframework #aspnet

Czy istnieje jakieś gotowe rozwiązanie na synchronizację między bazami danych? Chodzi o to, że chciałbym żeby moja aplikacja mogła działać lokalnie i zapisywać dane lokalnie na dysku komputera, ale co jakiś czas wymieniała się danymi z inną instancją tej aplikacji działającą na w internecie, bądź też z instancjami na innych komputerach.
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@hauhauu: @spetz: uuuuuu antyentityframeworkizm.

Możecie podać przykłady w czym EF Core czy EF6 odstaje od Dappera lub ADO.NET?
A jeżeli chodzi o wydajność to są jakieś rzetelne porównania?

Mi w EF Core brakuje "Inheritance: Table per concrete class (TPC)" ale po za tym to wszystkie inne braki dało się w prosty sposób obejść.
  • Odpowiedz
Siemanko
Mam problem z #programowie
Otóż kolega stworzył sobie projekt w Wcf(na zaliczenie) i aby połączyć go z bazą użył #entityframework.
Po chwili dodał kolumny w bazie i teraz chce ściągnąć te kolumny do projektu (czyt. zaktualizować strukturę).
Ktoś wie jak to zrobić i pomoże?;)

#programowanie15k #entity #informatyka
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Kurde, nie wiem, czy czegoś nie umiem, czy to po prostu nie działa w taki sposób..
Mam dwie encje: Page i Layout - kod mniej więcej taki jak poniżej:

public class Layout
{
[Key]
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki, pracuje wlasnie nad aplikacja typu multi tenant.
Teraz robie izolacje danych i poki co mam dwie rzeczy - filtrowanie rekordow po TenantId aktualnego user'a wiec nie ma szans zeby przypadkiem pozwolic na odczyt danych uzytkownikow.
Mam tez nadpisywanie TenantId podczas zapisu do bazy.

Pytanie czy to wystarcza? patrzylem na pare blogow o tym i wszyscy tylko to robia, ale co jesli user w jakis sposob by wyslal (majac legitny klucz do API) rekord innego
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć mirki zastanawiam się trochę na koncepcją używania Commands/Queries zamiast tradycyjnego repozytorium.
W zasadzie trafiłem na post Jimmy-ego Bogard-a, gdzie proponował podobne rozwiązanie zamiast stosowania repozytorium.

Moja interpretacja tego co on tam napisał, wygląda mniej więcej tak:

Interfejs dla queries
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pepepanpatryk: Wydaje mi się, że można to zrobić jeszcze bardziej generycznie, korzystając z _context.Set i ograniczyć użycie dodatkowych jeszcze obiektów dla każdego zapytania, jeżeli będzie ono np. takie samo dla wielu różnych encji :>
  • Odpowiedz
@pepepanpatryk: Przewaga Query nad Repo jest taka, że możesz w bazowej klasie zaimplementować logikię, która będzie wykonywana przed/po głównej metodzie(Execute). Czyli np. możesz tam sprawdzić uprawnienia, logować coś itd. Za to przy Repo będzie mniej kodu.
  • Odpowiedz
Proste zlecenie prosty projekt - korzystaj z ORM i Entity Framework i CodeFirst

1. Stwórz bazę,
2. Zrób 80% projektu
3. pokazujemy projekt
4. Ok Tylko dodaj jeszcze możliwość przechowywania kilku informacji
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Też macie w ef core problem z dodaniem paru obiektów metodą Add lub AddRange, a następnie zapisaniem tego SaveChanges? Trafiłem ostatnio na taki błąd i wszystko muszę dodawać i zapisywać pojedyńczo .
  • Odpowiedz
Poleci ktoś jakiś fajny tutorial/opis/artykuł, jak można stworzyć end-to-end appkę w .NET Core z wykorzystaniem EF Core i Angulara 2? Coś, co pozwoli mi wejść w generalnie proces tworzenia takich aplikacji. Wiem, że mogę uczyć się wszystkiego osobno, ale chciałbym od razu być świadomym integracji tych trzech "stworzeń".

  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PhoenixSoul: Autor mówi o tym, żeby nie używać transakcji, bo przecież zwykłe zapytania są atomowe.
Co powinno być w miarę oczywiste dla wszystkich.

Nie przedstawia alternatywy dla sytuacji, w której potrzebujemy zgrupować kilka akcji naraz i wykonać je w jednej transakcji (a jak ktoś mu to wypomina w komentarzu, to broni się, że i tak nie powinno się tak projektować aplikacji).

W dodatku używa TransactionScope, a są
  • Odpowiedz
@PhoenixSoul: Autor chyba nie do końca rozumie jak działa context w entity frameworku. Przy zapisie i tak zostanie w bazie utworzona transakcja, jeśli nie zostanie wykryta "ambient transaction". Tak jak wspomniał @MaaV TransactionScope przy EF używa się do transakcji rozproszonych lub jak np potrzebujesz wyciągnąć ID nowo zapisanego wiersza w aktualnej transakcji. Ciekawostka: dzięki IEnlistmentNotification możemy zgłosić własny kod, który ma być obsłużony przez TransactionScope.
  • Odpowiedz
#programowanie #dotnet #orm #entityframework
Mireczki mam taką sytuację, że posiadam użytkownika który posiada własne zamówienia (relacja nr.1) i może oglądać zamówienia swoich podopiecznych (relacja 2). Teraz chciałbym użytkownikowi wyświetlić dane z obu relacji w jednym widoku. Teraz jak do tego podejść. Pobrać z bazy danych obiekt użytkownika z dołączonymi obiema listami. (mam na myśli Include z ef, albo fetch z hibernate) i potem przemapować na
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, taki pytanko
Mam projekt mam w MVC/EF który ma działać pod dwoma bazany danych równolegle. Pierwsza jest już stworzona, druga będzie generowana z podejścia CodeFirst. Pierwsza jest główna, istnieją w niej praktycznie wszystkie dane. Druga będzie raczej pomocnicza, będą w niej tabele z użytkownikami i tabele łącząca użytkowników i wybrane tabele z bazy głównej (w relacji 1 do wielu) tak, żeby każdy user widział określone rekordy z bazy drugiej i tylko
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@Priya dodajesz do web.config drugi connection string.
Tworzysz context dla modelu code first w oparciu o ten string.
Tworzysz obiekty obydwu kontekstów i pobierasz dane raz z jednego raz z drugiego.
  • Odpowiedz