Pytanie Jakie są dobre alternatywne rozwiązania dla Entity [zamknięte]


Korzystam teraz z Entity Framework i ciągle muszę pisać wbudowany sql, ponieważ struktura Entity nie obsługuje wyszukiwania pełnotekstowego i innych funkcji. Czy istnieje ORM, który ma wiele funkcji obsługujących zaawansowane zapytania? Czuję, że jeśli mam zamiar czasami pisać wbudowany sql, równie dobrze mogę zrobić to wszystko w wbudowanym sql. Każda pomoc tutaj


17
2017-12-03 17:33


pochodzenie


Tylko moje dwa centy, ... ale jeśli potrzebujesz zaawansowanych zapytań, możesz po prostu zrzucić pomysł ORM i użyć wbudowanego sql zamiast tego i mieć oko na separację twojego trwałego kodu warstwy i logiki biznesowej (co nie oznacza posiadania obiektów, które reprezentują tabele w bazie danych, ale obiekty reprezentujące zamiar, który z kolei przejrzyście odczytuje i zapisuje w bazie danych za zasłoną). Podobny do aktywnego zapisu, ale bliższy intencji. - Frunsi
Opinie Luke101 tutaj są interesujące: stackoverflow.com/questions/1691575/... - Michael Maddox
Po prostu mówił zbyt szybko .. - Luke101
EntityWorker.Core jest nowym i podobnym do EntityFramework z większą funkcjonalnością i znacznie szybszym od entityframework. github.com/AlenToma/EntityWorker.Core - Alen.Toma


Odpowiedzi:


Spojrzeć na:


5
2017-12-03 19:01



Zapomniałem dodać: nie ma jeszcze wyszukiwania pełnotekstowego. Ale to jest w drodze, patrz np. forum.x-tensive.com/viewtopic.php?f=29&t=5657 dla niektórych szczegółów. - Alex Yakunin
DataObjects.Net ma bardzo słabą implementację LINQ i działa BARDZO wolno. Gorąco polecam używanie NHibernate zamiast bezpośredniego porównania - robi to wszystko, co DO.Net robi i robi wszystko lepiej. - nathanchere
To źle - wystarczy spojrzeć na obsługiwane funkcje, aby zobaczyć różnicę. Chciałbym usłyszeć na to dowód; przeciwnie, mogę łatwo udowodnić, że LINQ w NH nie wspiera dużo funkcji obsługiwanych przez narzędzia DO i inne narzędzia ORM (patrz np. testy @ ORMBattle.NET); to samo dotyczy wydajności. - Alex Yakunin
Tylko łatwy dowód, że się mylisz: goo.gl/s2gvP (sprawdź całą sekcję i porównaj to z NH). - Alex Yakunin
Strona to błąd 404? - Junle Li


NHibernate jest jedną z większych alternatyw OR / M i Open Source, które lubię. Jest w stanie zrobić całkiem "zaawansowane" rzeczy, ale ma stromą krzywą uczenia się.


12
2017-12-03 17:36



Wsparcie LINQ jest, cóż, jednym z najgorszych. - Alex Yakunin


Czuję, że jeśli mam zamiar czasami pisać wbudowany sql, równie dobrze mogę zrobić to wszystko w wbudowanym sql

Poważnie? Korzystając z dowolnej ORM, zawsze będziesz trafiać w sytuacje, w których jest ona lepsza, czystsza lub bardziej wydajna, do korzystania z SQL lub wywoływania zapisanego proc. Nie powinieneś ślepo ufać, że robi absolutnie wszystko dla ciebie we wszystkich sytuacjach.


8
2017-12-03 17:40



"Jeśli muszę napisać tę procedurę w zespole, aby uzyskać naprawdę dobrą wydajność, równie dobrze mógłbym napisać resztę mojej aplikacji również w zespole ..." - Svish
W tym przypadku zbyt cholernie skomplikowane, aby zrobić to w ORM, spróbuj wybrać instrukcje z 20 tabelami i podrzędnymi pytaniami. Czasami jest to po prostu prostsze w sql. - PeteT


Mindscape LightSpeed jest programem mapującym o / r dla .NET obsługuje wyszukiwanie pełnotekstowe (przez Lucene, ale rozszerzalny, dzięki czemu można dodać własne).

Obsługuje także LINQ, ma Zintegrowany projektant Visual Studio z pełnym obiegiem schematów, dzięki czemu możesz pracować w trybie model-first lub database-first - w zależności od tego, co masz ochotę :-)

Dostępna jest również darmowa wersja, dzięki której możesz zdecydować, czy jest ona odpowiednia dla Ciebie.

Mam nadzieję że to pomogło.


5
2017-12-03 23:15





Możesz wyglądać CodeFluent Entities ale musisz zrozumieć, że nie opiera się on wewnętrznie na żadnym narzędziu ORM ani na stronie trzeciej.

Entity Framework to ORM, natomiast CodeFluent Entities to pełny model pierwszy fabryka oprogramowania. Wykorzystuje naturalne i wizualne podejście do modelowania (takie jak Entity Framework i zintegrowane z Visual Studio) i może generować skrypty baz danych, obiektową warstwę danych - kod (C #, VB), usługi internetowe, a nawet składniki interfejsu użytkownika.


5
2018-02-04 16:31





Większość ORM nadal będzie wymagać wstawiania SQL inline. NHibernate, Linq 2 Sql itp. Nie obsługują wyszukiwania pełnotekstowego po wyjęciu z pudełka (NHibernate ma NHibernate.Search, który wykorzystuje Lucene.NET do przeszukiwania pełnotekstowego, Linq 2 Sql ma dostęp do procedur przechowywanych, które można utworzyć wyszukiwanie pełnotekstowe).

Nie oznacza to jednak, że należy całkowicie zrezygnować z używania ORM. Jest jeden tona powtarzalnego kodu instalacyjnego, który ORMy mogą zaoszczędzić na pisaniu, a ogólne przypadki użycia są względnie łatwe do wykonania (np. operacje CRUD) z dowolną ORM.


4
2017-12-03 17:42





Możesz na to patrzeć LLBLGen Pro lub Telerik Otwarty dostęp, ale NHibernate będzie rozwiązaniem dla największej społeczności wokół niego.


3
2017-12-03 17:40



Czy LLBLGen Pro ma dobrą wydajność? - Luke101
LLBLGen Pro jest jednym z najszybszych ORMów: github.com/FransBouma/RawDataAccessBencher - Frans Bouma


Jestem fanem Poddźwiękowy przez Rob Conery. Jest (był) prosty i łatwy w konfiguracji i użyciu.


3
2017-12-03 18:14



Witryna jest martwa i przekierowuje do spamu. - frankhommers
ustaw link do repozytorium git. - JonSG


Tak jak większość ludzi, polecam NHibernate, ale warto przyjrzeć się używaniu go w połączeniu z ActiveRecord CastleProject realizacja. Sam NHibernate może trochę się przyzwyczaić, ale kiedy rzucisz ActiveRecord na to, sprawy stają się dużo łatwiejsze. Byłem w stanie wykonać konwersję EntityFramework-> NHibernate / ActiveRecord bardzo szybko.


2
2017-12-03 18:12



Czy są jakieś książki lub naprawdę dobre samouczki dotyczące nhibernate / activeRecored? Czy uważasz, że żywotność aktywnego rekordu będzie wysoka? Oczekuję wsparcia za 10 lat. Dzięki - Luke101
Niestety nie tak naprawdę, co jest rodzajem bólu, ale także rodzajem problemu. To naprawdę łatwe do zrobienia większość integracji db z Active Record / NHibernate, a tutoriale Castle online praktycznie wszystko, co musisz wiedzieć. Jeśli zabraknie witryny Castle, szybkie wyszukiwanie w Google / Bing spowoduje, że znajdziesz wielu ludzi, którzy blogują o rzeczach, które oni wymyślili, jak z tym zrobić. O ile będzie to trwało długo. Jest to otwarte źródło, więc nie musisz się martwić, że to "odejdzie", po prostu weź źródło i skompiluj je sam, wtedy zawsze będziesz je miał. - Arthur C


Oddanie tego, co powiedzieli inni, nHibernate. Plus znalazłem ten link re: wyszukiwanie pełnotekstowe i nHibernate.


1
2017-12-03 17:39