3
A
回答
2
答案是更加簡單!
我的一個好朋友告訴我這很簡單!看看這個例子!
public enum State:byte
{
EmailNotValidated = 0x00,
EmailValidated = 0x10,
Admin_AcceptPending = 0x40,
Active = 0x80,
Admin_BlockedAccount = 0xff
}
,請注意:枚舉的名稱後部分BYTE ...有我一直在尋找的伎倆!但是,感謝大家爲我而努力!
2
您應該可以在您的LINQ對象中具有枚舉類型的屬性。這樣你不必投。
所以,只要改變你的屬性,使其具有正確的枚舉類型,你不必擔心再次施放。您可以在LINQtoSQL設計器中執行此操作。只需右鍵單擊某個屬性,選擇「屬性」並在Visual Studio屬性窗口中設置適當的類型。
0
您是否嘗試過擴展方法?
public enum MyEnum
{
First = 1,
Second = 2,
Third = 3
}
public static class Utility
{
public static string Description(this Enum e)
{
Type t = e.GetType();
DescriptionAttribute[] desc =
(DescriptionAttribute[])(t.GetField(e.ToString())
.GetCustomAttributes(typeof(DescriptionAttribute), false));
return desc.Length > 0 ? desc[0].Description : e.ToString();
}
public static byte ToByte(this Enum ai)
{
object o=Enum.ToObject(ai.GetType(), ai);
return Convert.ToByte(o);
}
}
class Program
{
static void Main(string[] args)
{
MyEnum me = MyEnum.Third;
Console.WriteLine("Value: {0}\r\nType: {1}"
,me.ToByte(),me.ToByte().GetType().ToString());
Console.ReadLine();
}
}
它輸出:
值:3
類型:System.Byte
1
LINQ到SQL通常會處理直接整數地圖和詳細的字符串(名)地圖(注: 區分大小寫)。含義:在某處寫入枚舉,並在設計器中將屬性類型設置爲完全合格的枚舉名稱:Some.Namespace.MyEnum
。它通常應該工作。
對於非平凡映射(例如,其中柱是具有混合的情況下的值一個varchar,或之類的東西「進行中」 [注意空格]),你將不得不離開存儲屬性作爲int
/varchar
(等)並手動映射。
partial class MyType {
public MyEnum Foo {
get {... mapping logic reading from FooStorage...}
set {... mapping logic, updating FooStorage...}
}
}
唯一的問題是,LINQ查詢將只針對存儲物業工作(不是:我通常將其標記爲私有並將其命名爲FooStorage
,並在部分類添加映射屬性來完成這個定製財產)。
相關問題
- 1. 隱式從枚舉類型轉換爲int可能如何?
- 2. 不能轉換UserQuery枚舉枚舉
- 3. 枚舉轉換成另一種類型的枚舉
- 4. 枚舉類型轉換成int
- 5. 轉換成枚舉基礎類型
- 6. 我可以從泛型類型轉換爲C#中的枚舉嗎?
- 7. 價值轉換問題:從枚舉類型「枚舉NSEventMask」
- 8. 在Postgres中將枚舉類型整數轉換爲枚舉
- 9. 轉換枚舉來枚舉
- 10. Perl有枚舉類型嗎?
- 11. IOS ELCImagePicker從枚舉類型ALAssetOrientation不同枚舉類型UIImageOrientation隱式轉換
- 12. 枚舉類對象轉換
- 13. 從枚舉類型的隱式轉換「枚舉UIViewAnimationOption不同枚舉類型uiviewanimation過渡
- 14. Phinx遷移 - 枚舉列與默認值
- 15. 可能聲明枚舉類型的函數嗎?
- 16. typedef現有的枚舉類型,可能嗎?
- 17. 將枚舉的數據類型轉換爲int類型?
- 18. 枚舉默認值理解
- 19. Thrift默認枚舉值
- 20. 爲什麼不是Byte默認的枚舉類型?
- 21. 枚舉類型的默認修飾符字段是什麼?
- 22. 什麼是枚舉的默認屬性類型編輯器?
- 23. 如果在寫入時所有類型都未知,則將值類型轉換爲泛型對象中的(可能)可枚舉枚舉類型?
- 24. 不能字符串轉換爲枚舉類型,我創建
- 25. 枚舉類「不能轉換爲無符號整型」
- 26. .NET 3.5中有可能指定一個枚舉類型嗎?
- 27. 迭代通過可枚舉類型的可枚舉集合
- 28. Symfony枚舉類型與表單類型
- 29. Node.js native枚舉中的枚舉類型
- 30. 與protobuf的枚舉替換C++枚舉
不,他們通常是tinyint,因爲我沒有超過5到20個不同的值。 – BerggreenDK 2009-05-18 09:14:07
在這種情況下,您應該將其類型更改爲它們實際上的枚舉類型。 LINQtoSQL將正確處理這個問題。 – 2009-05-18 09:18:20
赦免我的問題,但我在哪裏改變他們的類型? – BerggreenDK 2009-05-18 10:33:05