Im新的Entity框架5和Im試圖支持枚舉,但我有一些問題。在使用EF5時,我使用了以前的版本,這是爲了創建數據庫並從數據庫生成模型並使用代碼生成。因此,我將模型的代碼生成屬性更改爲「default」,然後刪除.tt文件。EF5中的外部枚舉
我有多個DLL的解決方案,其中一個有DataModel(EDMX),另一個有一個名爲「EnumGender」的枚舉,它有2個值:男性和女性。
在db中,我有一個表有一個名爲「Gender」(smallint)的字段的用戶,並試圖爲它使用「EnumGender」。
EnumGender在名爲「Sample.Datatypes.Enums」的命名空間中,所以在edmx模型瀏覽器中試圖添加一個Enum。爲此,我設置了「EnumGender」作爲名稱,我沒有添加任何值,並且選中了「參考外部類型」複選框,並在文本框中輸入了「Sample.Datatypes.Enums.EnumGender」。
問題是,似乎EF正在數據模型命名空間中創建一個新的枚舉,我不想要,我想在「Sample.Datatypes.Enums」命名空間中使用EnumGender。另外,該EF創建新的枚舉沒有值...如果我進入到數據模型CS文件(生成的代碼),這是它添加了什麼:
/// <summary>
/// No Metadata Documentation available.
/// </summary>
[EdmEnumTypeAttribute(NamespaceName="SampleModel", Name="EnumGender")]
[DataContractAttribute()]
public enum EnumGender : short
{
}
我有沒有發生什麼事的線索.. 。也許我不能使用外部dll的數據類型...但對於我所讀到的有關枚舉支持,我應該可以做到這一點...
我真的很感激,如果你能幫我解決這個問題。
謝謝! 胡安