2011-01-29 24 views
7

ücretsiz araçları MS SQL Server veritabanından basit POCO/DTO sınıfları üretebilir? Özellikler ve alanlar ile, ancak artık daha fazla.Veritabanından POCO/DTO oluşturmak için araç (SQL Server)

+0

kullandığınız .net framework sürümü nedir? – Kane

+0

Hangi veri erişim katmanını kullanıyorsunuz: LINQ to SQL, EF4, EF4 + CTP5, ...? – Richard

+0

@Richard: FluentNHibernate (tartışmasız tercih seçeneği) – bretddog

cevap

8

MyGeneration'a bakın - SQL Server için veritabanı yapısı tarafından çalıştırılacak şablonları tanımlamanızı sağlayan ücretsiz bir kod oluşturma aracıdır.

Diğer tarafta ne çıkacağına siz karar verin.

+0

Teşekkürler! Bu nasıl olur da reddedilir ve yorumsuz olur? Neyse; SQLExpress için "sağlayıcı" olarak neyin belirtileceğini de sorabilir miyim? Bu bağlantı ile diğer araçlarla başarılı bir şekilde bağlanıyorum: (Veri Kaynağı = PC \ SQLEXPRESS; Başlangıç ​​Kataloğu = RoboDBTest; Entegre Güvenlik = Doğru;) ... Ama (MyGenerator ile) Provider = SQLOLEDB koyduysam; Bunun önünde, bağlantı hatası alıyorum: [System.Data.OleDb.OleDbException] - Hata iletisi yok, sonuç kodu: DB_E_ERRORSOCCURRED (0x80040E21). – bretddog

+1

@bretddog - Tam olarak bilmiyorum. Http://connectionstrings.com adresine bakın ve sürümünüz için farklı seçenekler deneyin. – Oded

+0

@bretddog Bunun istenmeyen bir sonuç olduğunu düşündüğüm, çünkü spam gibi görünüyor. – Richard

6

Hiçbir şey bulamadığı için çok basit bir TSQL betiği oluşturdu. İşte gist.

Örnek çıktı:

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

Mükemmel bir çözüm, teşekkürler :) – Paulj