2008-08-07 155 views
17

LINQ to SQL允許表映射通過指定列的類型自動將來回轉換爲Enums - 這適用於字符串或整數。LINQ to SQL strings to enums

有沒有辦法讓轉換大小寫不敏感或添加一個自定義映射類或擴展方法到混合中,以便我可以指定更多細節應該看起來像字符串。

這樣做的原因可能是爲了在已經設置了數據模式的系統中的某些新時髦C#代碼中提供更好的命名約定(並且正在依賴某些舊應用程序),因此實際文本數據庫不能更改。

+0

我沒有意識到LINQ to SQL支持枚舉映射!但我現在......非常感謝。 – 2008-11-27 12:53:22

回答

3

您可以隨時添加一個與您的LinqToSql類同名的部分類,然後定義您自己的參數和函數。然後這些對象可以作爲這個對象的對象參數和方法來訪問,就像自動生成的LinqToSql方法一樣。

示例:您有一個名爲Car的LinqToSql類,它映射到數據庫中的Car表。然後,您可以在其中添加文件到App_Code文件用下面的代碼:

public partial class Car { 
    // Add properties and methods to extend the functionality of Car 
} 

我不知道這是否完全滿足您不斷變化的是枚舉被映射成列的方式要求。但是,您可以添加一個參數,get/set屬性將用於映射所需的枚舉,同時保持大小寫不敏感。