2012-02-28 2 views
5

Pracowaliśmy nad VS2010 i EF, a różne dyskusje dotyczące skalowalności i kosztów skłoniły nas do spojrzenia na przejście do Mono.Przejście do Mono: Alternatywy dla Entity Framework

Rozumiem, że prawie cały mój kod będzie funkcjonalny, z wyjątkiem EF, którego używamy w naszym modelu (projekt ASP.NET).

Czy ktoś może polecić łatwą w użyciu ORM, która pozwoli nam wykonać wiele operacji tego samego mapowania (klucze obce itp.) Za pomocą MySQL? Jedną z rzeczy, która mi się podobała, był wizualny element modelowania EF, co bardzo ułatwiło wprowadzanie zmian i obserwowanie relacji.

+0

NHibernate (niezbyt łatwe w użyciu). – Steven

+0

@Steven - NHibernate i Entity Framework są w tym samym stadium złożoności. Jeśli zdecydujesz się na ręczne zapisywanie plików odwzorowania XML, NHibernate jest wolniejszym startem niż Entity Framework, ale nie ma na to żadnego powodu. –

+1

W odniesieniu do "pisania plików XML do mapowania" - czy są jakieś narzędzia, które pomogłyby nam je automatycznie zmapować? Jeśli tak, to czy możesz wskazać mi kierunek? – pierre

Odpowiedz

0

Jeśli Twój projekt nie jest zbyt skomplikowany, Castle ActiveRecord jest jedną z alternatyw. Mimo że nie zapewnia relacji FK, jest łatwiejszy w użyciu niż NHibernate. Na przykład AR zapewnia konfigurację opartą na adnotacjach zamiast pełnej konfiguracji XML.

+0

Zamek ActiveRecord działa dobrze przy relacjach z kluczami obcymi. Co pan myśli? –

+0

Czy Castle ActiveRecord obsługuje LINQ nad zapytaniami IQueryable? – Steven

+0

@Michael - Miałem na myśli atrybut [ForeignKey] w EF, który jest bardziej przydatny przy zapisywaniu obiektu nadrzędnego-podrzędnego, z drugiej strony jest atrybut [BelongsTo] w AR, ale jest używany dla typu odniesienia, a nie jako typ pierwotny jak wiem. Proszę, popraw mnie jeśli się mylę. – Ray

1

Jak napisano, nie ma odpowiedzi na twoje pytanie, ponieważ jest źle sformułowane. W tytule wspominasz o "alternatywnej strukturze Entity", ale twoje ostatnie komentarze wskazują, że szukasz czegoś więcej niż to, co zapewnia Entity Framework - więc nawet gdyby istniało, to nie dałoby ci wszystkiego, co chciałeś.

Bez kilku szczegółach, wydaje się, chcesz powiedzieć coś bardziej zbliżonego do:

  • W jaki sposób można wykorzystać MySQL i Visual Studio, aby uzyskać równoważnie dobrze zintegrowany doświadczenia jak ja obecnie zrobić z SQL Server (lub inny komercyjny DB)?
  • Które alternatywne bazy danych i ORM zgodne z EF można użyć, aby uzyskać równoważne doświadczenie w zakresie projektowania z MySQL (lub inną bazą danych) w porównaniu do tego, co obecnie otrzymuję z SQL Server (lub innym komercyjnym DB)?
  • Jak uzyskać równoważnie dobrze zintegrowane debugowanie, projektowanie i programowanie w Visual Studio przy użyciu tańszej platformy innej niż Windows (na przykład system Linux)?

W zależności od tego, które z powyższych pytań jest rzeczywiście bliższe, podyktuje odpowiedź.

1

dzisiaj tried Entity Framework 6 ALPHA2 z Mono. To jeszcze nie koniec, ale uważam, że problemy można naprawić.