none
在 Entity Framework 如何將資料庫中特定字串欄位對應成一個複雜的 .NET 型別 RRS feed

  • 問題

  • 想請問在  Entity Framework 如何將資料庫中特定字串欄位對應成一個複雜的 .NET 型別?

    假設我的資料庫中有個表格為 Table1,其中有個欄位叫做 ColumnA,其內容格式「字串」且資料內容格式為 Key1=Value1&Key2=Value2

    而當我透過 Entity Framework 去得該欄位的值時,希望能透過 Entity Framework 取得 Entity 時所對應到此欄位的 Entity Field 為一個自訂的 .NET 型別,例如以下類別:

    class ColumnA
    {
      string Key1;
      string Key2;
    }

    請問這樣的需求在 Entity Framework 中應該如何實現?是否有相關參考資料?

    謝謝!

    • 已編輯 Will_Huang 2010年4月7日 下午 05:30 調整一些文字排版
    2010年4月7日 下午 05:28

解答

  • 這個問題有兩種解法,以OO作法建議使用方式二

    方式一
    建一個View,將ColumnA用SQL語法先處理成Key1與Key2,但這種作法會導致INSERT,UPDATE可能會失敗.

    方式二
    在class已屬性方式處理

    譬如

    class Table1
    {
    public string ColumnA
    {
    ...
    }
    
    
    public string Key1
    {
    get
    {
    return ... //parser ColumA
    }
    set
    {
    ColumnA = .... //Combo ColumnA
    }
    
    
    }
    
    
    }
    • 已標示為解答 Will_Huang 2010年4月8日 下午 12:21
    2010年4月7日 下午 11:27