2009-03-23 14 views
13

Sto cercando un semplice generatore CRUD (o DAL) per C#. Non voglio nulla di pesante in quanto ho solo un paio di tabelle in un database di SQL Server 2008.Semplice generatore CRUD per C#

Qualche suggerimento? Io conosco .netTiers, ma è troppo per quello di cui ho bisogno.

Grazie!

AGGIORNAMENTO: Ho provato LINQ su SQL e non funziona bene per le mie esigenze.

+0

Perché non funziona bene? –

risposta

1

LINQ to SQL è semplice ed è integrato in .NET 3.5 SP1.

+1

È quello che sto cercando di usare da un paio di giorni ed è un incubo. Espacially che ho M: M relazione ... – Martin

2

Cosa succede ad usare un DataSet creata usando il progettista DataSet. Ricordo i Old Days (.NET 1.0 e 1.1), trascineremmo un DataAdapter sulla superficie del disegno, specificare la query Select, e le query Insert, Update e Delete verrebbero create per noi, in base alla query Select.

1

Le procedure guidate di Visual Studio creeranno per te una semplice app CRUD.

Trascinare un datagrid sul modulo, fare clic sulla proprietà di connessione e seguire le procedure guidate da lì.

Non

migliori pratiche, ma è semplice e funziona ...

10

Ho usato SubSonic su progetti passati, è leggero e facile da usare.

Offrono un semplice tutorial video e non dovrebbero richiedere più di 10 minuti per completarlo completamente. Raccomando di guardare la seconda metà del video che si occupa di progetti di applicazioni Web perché mostra come creare un pulsante personalizzato di Visual Studio che crea il DAL per te ogni volta che fai clic su di esso invece di utilizzare un fornitore di build personalizzato come suggeriscono in prima metà del video.

Offre diversi modi per accedere ai dati, Registrazione attiva, generazione di stored procedure e viste, oppure a query language che è possibile utilizzare.

Dopo averlo utilizzato, ho trovato un paio di stranezze:

  • Se si utilizza una stored-procedure generato che non dispone di un parametro, si getterà un NullReferenceException. Una soluzione è quella di creare un parametro fittizio che non viene utilizzato nella procedura di
  • La funzione DeepSave() non funziona nella corrente versione 2.1, dovrete salvare singolarmente i dati da tabelle unite
  • Quando si utilizza un coditional (ad esempio Where(Tag.Columns.TagName).IsEqualTo("subjective"), assicurarsi di utilizzare il valore della stringa Tag.Columns.TagName per fare riferimento alla colonna - altrimenti un'eccezione verrà generata se si tenta di utilizzare il Column.Schema
+0

Subsonic è probabilmente il più leggero produttore DAL che ho trovato finora. Tutto il resto è diventato troppo gonfio. Prova la versione 2.1, che ora ha un programma di installazione. –

+2

I tuoi collegamenti sono morti; dovrai aggiornarli per puntare al nuovo sito all'indirizzo http://subsonic.github.io/ Immagino, per quanto possibile. –

+0

Il progetto SubSonic non sembra essere stato aggiornato negli ultimi 2 anni. –

2

nel caso in cui il denaro non è una grande preoccupazione, ho ha avuto un grande successo con modelli in CodeSmith.

Ci sono un sacco di modelli di esempio là fuori per le operazioni CRUD e leggerà direttamente dal tuo database.

+0

Sono d'accordo, io uso code smith per cose leggere, è anche facile scrivere i propri modelli se si sta cercando di integrarsi in un progetto esistente che può essere davvero utile. – Element

7

Visual Studio viene fornito con un generatore di codice che quasi nessuno conosce chiamato T4.

Dovresti essere in grado di usarlo in modo relativamente semplice per creare modelli CRUD.

EDIT

Ed ecco un esempio di come: http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/

+0

Wow, nuovo per me - grazie! – Damovisa

+0

t4 è eccellente per la generazione di file di input legacy. – Greg

+1

Oh, così triste = (404 - File non trovato – naXa

2

Date un'occhiata a Codesmith. Il 2.6 version è gratuito e le versioni successive sono per l'acquisto.

0

Scopri LLBLGen Pro, lo giuro. Non è gratuito, ma non costoso. Puoi iniziare e lavorare (scrivere codice) entro un'ora, e i modelli con cui viene fornito generano codice che può fare praticamente qualsiasi cosa tu voglia. È così bello (e produttivo) non dover più pensare al codice di interfaccia del database.

2

provare http://pureobjects.com/ non è bisogno di alcun altro lavoro

+0

Ho usato molte volte i purobject. Funziona alla grande, ti dà tutto dal DAL agli oggetti.Inserisci, Aggiorna, Cancella le istruzioni classificano tutto. – Kaos

+0

Il collegamento pureobjects sembra non essere valido. Ti porta ad un'altra pagina web non di programmazione. –

1

usavo SubSonic 3 ActiveRecord ma da allora sono trasferito a BLToolkit. BLToolkit è molto più difficile da iniziare a causa della mancanza di una buona documentazione, ma una volta che ci si abitua ad esso, è molto simile a SubSonic ... tranne che senza i problemi di prestazioni.

SubSonic è grande e facile ma la performance è insopportabile per qualsiasi cosa di pratico. Ogni volta che si esegue un join o una sottoquery, verranno visualizzati interi tavoli.