2011-01-29 12 views
7

Quali strumenti gratuiti possono generare classi POCO/DTO semplici dal database MS SQL Server? Con proprietà e campi, ma niente più.Strumento per generare POCO/DTO dal database (SQL Server)

+0

Quale versione del framework .net stai usando? – Kane

+0

Che livello di accesso ai dati stai usando: LINQ a SQL, EF4, EF4 + CTP5, ...? – Richard

+0

@Richard: FluentNHibernate (scelta della preferenza non discutibile) – bretddog

risposta

8

Dai uno sguardo allo MyGeneration - è uno strumento di generazione di codice gratuito per SQL Server che consente di definire modelli che saranno guidati dalla struttura del database.

È a decidere cosa uscirà dall'altra parte.

+0

Grazie! Come mai questo viene sottovalutato, e senza un commento? Comunque; Potrei chiedere anche cosa specificare come "provider" per SQLExpress? Mi collego correttamente con altri strumenti con questo collegamento: (Origine dati = PC \ SQLEXPRESS; Catalogo iniziale = RoboDBTest; Sicurezza integrata = Vero;) ... Ma se I (con MyGenerator) inserisce Provider = SQLOLEDB; di fronte a ciò, ottengo l'errore di connessione: [System.Data.OleDb.OleDbException] - Nessun messaggio di errore disponibile, codice risultato: DB_E_ERRORSOCCURRED (0x80040E21). – bretddog

+1

@bretddog - Non lo so esattamente. Guarda http://connectionstrings.com e prova diverse opzioni per la tua versione. – Oded

+0

@bretddog Mi aspetto che questo sia stato rifiutato perché sembra spam - pubblicità per alcuni siti Web senza alcuna attribuzione. – Richard

6

Trovato niente adatto, quindi creato uno script TSQL molto semplice. Ecco lo gist. Uscita

Esempio:

public class EmployeeDto 
{ 
     public int Id { get; set; } 
     public int AccountId { get; set; } 
     public string ExternalId { get; set; } 
     public string EmailAddress { get; set; } 
     public bool IsActive { get; set; } 
     public string UniqueId { get; set; } 
     public bool IsBuiltIn { get; set; } 
     public string LastName { get; set; } 
     public string FirstName { get; set; } 
     public string MiddleName { get; set; } 
     public bool IsAuthorizedOnAllDepartments { get; set; } 
} 
+1

Ottima soluzione semplice, grazie :) – Paulj

Problemi correlati