2009-02-11 73 views
9

我是LINQ的新手。我只是將所有數據庫表拖到LINQ to SQL dbml中的設計器上。我所有的關係都是正確的,在設計師中看起來不錯。我能夠使用簡單的LINQ代碼提取數據。我想現在添加我自己的方法,但是如果(當)需要重新生成我的dbml時不想讓我的更改消失。我猜測我只是創建一個新的類文件,並設置生成的類的部分類。它是否正確?例如,我有一個名爲SystemUser的生成類,其中包含列SystemUserId,用戶名,密碼,PersonId,SecurityQuestionId,SecurityQuestionResponse。我想添加一個名爲的方法void Authenticate()和一個名爲的新屬性bool已驗證。基本上,我想在一個用戶名和密碼傳遞給進行身份驗證(),並設置基礎上找到匹配的用戶等在哪裏,我怎麼會做這樣的身份驗證財產?將新方法添加到LINQ to SQL生成的類

回答

13

LINQ生成的類是部分類,這意味着您可以通過創建自己的partial classespartial methods來擴展它們。

在你的情況下,你可以爲你的SystemUser創建一個部分類,然後在那裏添加你的方法。如果DBML文件被重新生成,它們不會被覆蓋。

喜歡的東西:

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

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

所有的答案是有幫助的,但我喜歡你提供的鏈接。我是StackOverflow的新手,所以我認爲你贏了!謝謝。 – user64874 2009-02-11 02:53:50

2

看看使用部分類......它可能很適合您的情況。

1

如果你只是想讓你的類有一個新的方法,你是正確的創建一個新的文件,並使用部分類。