2011-03-12 5 views
7

Ciao Ho programmato un bel po 'di C#, ma mai con un database. Mi piacerebbe usare SQL Server con C# con qualche framework. Microsoft sembra aver spedito un numero di framework nel corso della vita di C#. Questo mi rende difficile cercare/scegliere.Consigli per l'accesso al database C#

Quale scegliere? Sto sviluppando una semplice webapp a 3 livelli. Ho visto alcuni video di Entity Framework .Net 4.0, ma ho la sensazione che le cose siano troppo automatiche. Ho bisogno di fare un po 'di SQL ora e poi ..

E se devo andare per l'EF4.0, è davvero questo il miglior riferimento http://msdn.microsoft.com/en-us/library/bb386876.aspx

Tutti i consigli?

+1

http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx si presenta come un ottimo libro pdf gratuito su EF –

+0

Ottimo link - grazie! –

+0

possibile duplicato di [nhibernate, entità framework, record attivi o linq2sql] (http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql) –

risposta

6

Vai con Entity Framework 4 - è l'approccio migliore e futuro al database di SQL Server. È la base per i servizi dati WCF e l'idea di un modello concettuale verrà visualizzata in altri prodotti Microsoft, sicuramente (Reporting Services e altri, probabilmente).

E ti dà un sacco di ganci per consentire di eseguire istruzioni SQL "al volo", e puoi anche integrare le stored procedure molto bene in Entity Framework.

E per le attività quotidiane "run of the mill", ti offre oggetti C# piacevoli, basati sul tuo database, con cui lavorare.

A mio parere, questa è la scelta migliore attualmente - e quella con la maggiore flessibilità e opzioni. Puoi iniziare con un database ("prima il database") e creare le tue classi da tabelle esistenti; oppure puoi iniziare con un modello e EF4 generare il tuo database per te, e EF v4.1 (presto disponibile) offrirà anche uno sviluppo "code-first" in cui non hai nemmeno bisogno di un modello visivo ma puoi descrivere tutti gli oggetti e le impostazioni del database in solo codice C#.

Aggiornamento:

+0

conosce qualche buon URL? –

+0

@Carlo V. Dango: aggiornato il mio post con alcuni link URL –

2

direi Inizia con Sub di sonic di Rob Conery .. sua facile da avviare repository with..specillaly semplice ..

sito link: http://www.subsonicproject.com/

Repository semplice utilizzando Sub sonic: http://subsonicproject.com/docs/Simple_Repo_5_Minute_Demo

Aggiornamento: Ho visto una risposta che menziona NHibernate e voglio aggiungere una piccola aggiunta allo stesso ...e poiché OP mentinoned che si dispone di una buona esperienza con C# io suppone che si abbia una buona OOPS conoscenza e anche le relazioni amongs oggetti

ho sentito personalmente molto facile iniziare con NHibernate quando viene utilizzato con Fluent NHibernate quindi Vorrei anche suggerire

C# + NHibernate + Fluent Nhibere ....

+1

sì http://subsonicproject.com/docs/Simple_Repo_5_Minute_Demo sembra lucido ... ma mi insospettisco sempre quando gli esempi/video mostrano semplici insert/delete/fetch. Cosa è successo a join e where-clauses? forse anche una selezione annidata? –

+0

Il video sul sito è un buon punto di partenza e penso che ci siano molte risorse online che possono aiutare ad andare avanti con più join ecc ... – Chandu

2

C# + ActiveRecord + NHibernate. Nascondere l'implementazione dietro diversi servizi WCF.

2

Hai detto che vuoi provare un "framework", quindi Entity Framework è quello. È il risultato delle migliori pratiche che MS ha messo a punto dopo anni di ricerca. Naturalmente, lungo la strada, puoi sempre usare SQL (Dataset) ogni volta che vuoi insieme a EF (principalmente per l'ottimizzazione delle prestazioni).

+0

conoscere qualche buon URL? –

1

Date un'occhiata here per alcune informazioni su prestazioni/benchmark su vari framework ORM per .Net.