2009-03-09 17 views
0

Subsonic kullanıyorum ve devam ettiğim konular şema değişiklikleri yaptığımda, her şeyi yeniden derlemem gerekiyor ve zaman zaman bazı subramatik şema değişikliklerinin bazılarını tanımıyor. şema değişiklikleri ve subsonic - VS 2008

mi orada daha iyi YA i şema ile çalışma ile daha verimlidir

cevap

2

Ben SubSonic ile sınıf nesil ile herhangi bir sorun yoktu değiştirir asp.net kullanabilirsiniz/M. Şemanın iyi olduğundan emin misin? the conventions'u takip ediyor musunuz? Bazı tablolar oluşturulmazsa, PK'leri kaçırıyor olabilirsiniz, ancak oluşturulan sınıflara bakarsanız, size (yorumda) bunun böyle olduğunu söyleyecektir. Bu, sizin tarafınızdan sağlanan bilgilere dayanarak verebileceğim tüm tavsiyeler. SubSonic olmadığını düşünüyorum hala sorun ...

+0

Pawel, DB, iyi tasarlanmış ve yalnızca tüketici olarak ve subsonnic kullanmayı denediğim için DBA'ya göre tüm subsonik sözleşmeleri karşılar :) –

0

Eğer BuildProvider kullanıyorsanız, bununla ilgili bilinen sorunlar var ve web.config dosyasını yeniden düzenlemek zorunda kalabilirsiniz, ayrıca SubCommander'ı kullanmayı deneyebilirsiniz. (sonic.exe) sınıflarınızı sizin için üretecek.

Ayrıca kullandığınız hangi Veritabanı ve değişiklikler görünmüyor ne şema http://www.summerofnhibernate.com/

0

kontrol NHibernate deneyebilirsiniz. SubSonic ile yaptığım deneyimde, oluşturulan sınıflarda hiç şema değişikliği olmadı. İnsanları gördüğüm en büyük hata, veritabanına bir tablo eklemek, kendi sınıflarını oluşturmak için Alt Komiser'ü çalıştırmak ve sonra oluşturulan sınıfı projelerine dahil etmeyi unutmaktır.

İnsanları gördüğüm diğer tek sorun, sınıflarınızı ayrı bir sınıfta oluşturuyorsanız ve hepsi C# 'de üretiliyorsa ve sınıfları kullanan proje VB'de yazılır. VB bir C# projesine okuyamaz, bu nedenle ilk projenizde şema değişikliklerini görmek için C# projenizi oluşturmanız gerekir. Bu VB'nin sınırlamalarından biridir.

0

LLBLGen PRO'yı öneririm. Ücretsiz değil ama $$$ değerinde. Hem web hem de windows uygulamalarında 4 yıldan beri kullanıyordum.