2009-02-11 17 views
9

LINQ için yeniyim. Tüm veritabanı tablolarımı tasarımcıya bir LINQ'dan SQL dbml'ye sürükledim. Bütün ilişkilerim doğru ve tasarımcıda güzel görünüyor. Basit LINQ kodunu kullanarak veri çekebiliyorum. Şimdi kendi yöntemlerimi eklemek istiyorum ama eğer (ne zaman) dbml'imi yenilemem gerekiyorsa değişiklikimi uçurmak istemiyorum. Sanırım yeni bir sınıf dosyası oluşturdum ve oluşturulan sınıfların kısmi sınıflarını kurdum. Bu doğru mu? Mesela ben sütun içerir SystemUser adında bir oluşturulan sınıf var SystemUserId, kullanıcı adı, Şifre, PersonId, SecurityQuestionId, SecurityQuestionResponse. Ben geçersiz kimlik doğrulaması() adında bir yöntemi ve Doğrulanmış bool adı yeni bir özellik eklemek istiyorum. Temelde ben vb nereye ve nasıl bu yapardın eşleşen bir kullanıcıyı bulma dayalı Doğrulanmış özelliğini kimlik doğrulaması() için kullanıcı adı ve şifre geçmek ve ayarlamak istediğiniz?SQL tarafından oluşturulan sınıflara LINQ için yeni yöntemler ekleme

cevap

13

LINQ tarafından oluşturulan sınıflar kısmi sınıflardır, yani kendi partial classes veya partial methods öğelerinizi oluşturarak bunları genişletebilirsiniz. Durumunuzda, SystemUser'unuz için kısmi bir sınıf oluşturabilir ve ardından yöntem (ler) inizi oraya ekleyebilirsiniz. DBML dosyası yeniden oluşturulursa, üzerine yazılmazlar. gibi

şey:

public partial class SystemUser 
{ 
    public bool Authenticated { get; set; } 

    void Authenticate() 
    { 
     //Perform custom logic here. 
    } 
} 
+0

tüm cevaplar yararlı, ama verilen bağlantıları sevdim. StackOverflow'a yeniyim, bu yüzden kazandığınızı düşünüyorum !? Teşekkürler. – user64874

+0

Woohoo! Teşekkürler. :-) –

2

Bir Kısmi sınıf kullanmayı göz atın ... durumunuza çok iyi uyabilir.

1

Sınıfınızın yeni bir yönteme sahip olmasını istiyorsanız, doğru bir şekilde yeni bir dosya oluşturun ve kısmi sınıf kullanın.

İlgili konular