Quali sono alcuni buoni Entity Framework Alternative

Sto utilizzando Entity Framework ora e costantemente dover scrivere inline sql perché Entity framework non supporta la ricerca full-text e altre caratteristiche. C’è un ORM là fuori che ha molte caratteristiche che supporta query avanzate? Sento che se io vado a volte per scrivere inline sql potrei anche fare tutto in linea di sql. Qualsiasi aiuto qui

  • Solo i miei due centesimi, … ma se vuoi query avanzate, si può semplicemente eseguire il dump l’ORM idea, e in linea di sql, invece, e tenere un occhio su di separazione dei vostri persistenza livello di codice e la logica di business (il che non significa avere gli oggetti che rappresentano le tabelle del db, ma di oggetti che rappresentano un intento che, a sua volta in modo trasparente in lettura e scrittura al database dietro la tenda). Simile al record attivo, ma più vicina alle intenzioni.
  • Luke101 opinioni qui sono interessanti: stackoverflow.com/questions/1691575/…
  • Appena parlato troppo presto..
  • EntityWorker.Core è nuovo e un po ‘ come EntityFramework con più funzionalità e molto più veloce di entity framework. github.com/AlenToma/EntityWorker.Core
InformationsquelleAutor Luke101 | 2009-12-03



12 Replies
  1. 6

    Dare un’occhiata a:

    • Hai dimenticato di aggiungere: non c’è la ricerca full-text di sicurezza. Ma questo è il modo in cui, ad esempio forum.x-tensive.com/viewtopic.php?f=29&t=5657 per alcuni dettagli.
    • DataObjects.Net è molto scarsa LINQ attuazione e esegue MOLTO lentamente. Vorrei caldamente di usare NHibernate, invece, un confronto diretto – si fa di tutto DO.Net e fa tutto meglio.
    • Questo è sbagliato, è sufficiente guardare alle funzionalità supportate per vedere la differenza. Così mi piacerebbe sentire una prova di questo; al contrario, posso facilmente dimostrare LINQ in NH non supporta un sacco delle funzioni supportate da FARE, & altri strumenti ORM (vedi ad es. test @ ORMBattle.NET); le stesse prestazioni.
    • Una semplice prova di sei sbagliato: goo.gl/s2gvP (guarda tutta la sezione e confrontare questo per NH).
    • Pagina di errore 404?
    • Pagina i link sono ancora rotto.

  2. 12

    NHibernate è una delle più grandi O/M e alternative Open Source che mi piace. È possibile fare qualche bella “avanzate” delle cose, ma ha una curva di apprendimento ripida.

    • LINQ supporto c’è, beh, tra quelli peggiori.
  3. 8

    Sento che se io vado a volte per scrivere inline sql potrei anche fare tutto in linea di sql

    Sul serio? Quando si utilizza qualsiasi ORM, si sta sempre andando a colpire situazioni in cui è meglio, più pulito, o più performante, per utilizzare SQL o chiamare una stored proc. Non si deve solo fidare ciecamente non fare assolutamente tutto per te in tutte le situazioni.

    • “Se devo scrivere questa procedura in assemblea per prestazione molto buona, potrei anche scrivere il resto della mia app in assemblea di troppo…”
    • Per quella materia troppo dannatamente complicato farlo in ORM, provare a selezionare dichiarazioni con 20 tabelle e query sub. È solo più semplice in sql a volte.
  4. 5

    Mindscape LightSpeed è un o/r mapper per .NET che supporta la ricerca full text (via Lucene, ma flessibile, per cui si potrebbe aggiungere il tuo).

    Supporta anche LINQ, ha un Integrato di Visual Studio di progettazione con schema completo round di intervento in modo da poter lavorare prima di modello o di database prima di qualunque prende la vostra fantasia 🙂

    C’è anche una versione gratuita che è possibile utilizzare per decidere se è giusto per voi.

    Spero che aiuta.

  5. 5

    Si potrebbe guardare CodeFluent Entità ma è necessario capire che non internamente si basano su qualsiasi ORM o strumento di terze parti.

    Entity Framework è un ORM, mentre CodeFluent Entità è un modello completo-primo
    il software di fabbrica. Esso utilizza un naturale e visual approccio di modellazione (come Entity Framework e integrato in Visual Studio) e in grado di generare script di database, object oriented dati a livello di codice (C#, VB), servizi web e anche UIs componenti.

  6. 4

    La maggior parte degli Orm richiederanno ancora un po ‘ inline SQL e poi ogni ora. NHibernate, Linq 2 Sql, etc. non supporta il full text search out of the box (NHibernate ha NHibernate.La ricerca che utilizza Lucene.NET per eseguire la ricerca a testo integrale, Linq 2 di Sql ha accesso a stored procedure che è possibile creare che utilizzare ricerca full text).

    Questo non significa che si dovrebbe rottami di utilizzo di un ORM del tutto però. C’è un ton ripetitivi codice idraulico che Orm può salvare dalla scrittura e l’uso in generale, i casi sono relativamente facili da eseguire (ad esempio, operazioni CRUD) con ORM.

  7. 3

    Io sono un fan di Subsonico da Rob Conery. È (era) semplice e facile da impostare e da utilizzare.

    • Il sito è morto e reindirizza a spam.
    • impostare il link al repository git.
  8. 2

    Come la maggior parte delle persone qui mi consiglia di NHibernate, ma si potrebbe desiderare di guardare in uso in combinazione con CastleProject del ActiveRecord attuazione. NHibernate di per sé può prendere un po ‘ di tempo per abituarsi, ma quando si lancia ActiveRecord su di esso le cose diventano molto più facili. Sono stato in grado di fare un EntityFramework->NHibernate/ActiveRecord di conversione molto velocemente.

    • Ci sono libri, sono veramente buoni tutorial su nhibernate/activeRecored? Inoltre, pensi che la durata della vita del record attivo sarà alto? Sono in attesa di ricevere il supporto per almeno 10 anni. Grazie
    • Purtroppo non è stato davvero, che è una sorta di dolore, ma anche una sorta di un non problema. È davvero facile per la maggior parte di db integrazione con Active Record/NHibernate, e il Castello di tutorial online praticamente ti danno tutto quello che dovete sapere. Se il Castello sito manca quindi una rapida occhiata su Google/Bing search risultato nella ricerca di un sacco di persone là fuori blogging circa le cose che ho capito come fare con esso. Per quanto tempo sarà in giro. La sua natura open source, quindi non devi preoccuparti di non andare via, basta prendere il sorgente e compilarlo da soli, quindi avrai sempre farlo.

Lascia un commento