Asp.net

向 LINQ to SQL 生成的類添加新方法

  • February 12, 2009

我是 LINQ 的新手。我只是將所有數據庫表拖到 LINQ to SQL dbml 中的設計器上。我所有的關係都是正確的,並且在設計師中看起來不錯。我能夠使用簡單的 LINQ 程式碼提取數據。我現在想添加自己的方法,但如果(何時)需要重新生成我的 dbml,我不想破壞我的更改。我猜我只是創建一個新的類文件並設置生成類的部分類。它是否正確?例如,我有一個名為SystemUser的生成類,其中包含SystemUserId、Username、Password、PersonId、SecurityQuestionId、SecurityQuestionResponse列。我想添加一個名為void Authenticate()的方法和一個名為bool Authenticated的新屬性. 基本上我想將使用者名和密碼傳遞給Authenticate()並根據找到匹配的使用者等設置Authenticated屬性。我將在哪里以及如何執行此操作?

LINQ 生成的類是部分類,這意味著您可以通過創建自己的部分類部分方法來擴展它們。

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

就像是:

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

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

看看使用 Partial 類……它可能非常適合您的情況。

引用自:https://stackoverflow.com/questions/535190