none
請問一般關聯式的資料庫在Entity Framework該如何設計 RRS feed

  • 問題

  • 各位前輩好:
    請問一般關聯式的資料庫在Entity Framework該如何設計,舉例
    A Table
    Bulletin_id
    Bulletin_subject
    Bulletin_Creat_Date
    Bulletin_Poster_ID

    B Table
    User_id
    User_Name
    User_Sex
    User_Height
    User_Weight

    這樣的兩個Table
    我想在A Table這個物件裡用Bulletin_Poster_ID 關聯 B Table.User_id,一般若使用Association的做法會將B Table的所有欄位都給關聯進來,我只需要B Table的 User_Name這個欄位,其他的欄位都不需要,且A Table還需要保留Bulletin_Poster_ID這個欄位,請問這樣有辦法做到嗎?
    謝謝
    2009年5月29日 下午 01:54

所有回覆

  • 做個View就好了.

    2009年5月31日 上午 06:57
  • 分享我的做法,如下:
    1. 先在資料庫建立A、B Table
    2. 於資料庫中建立A、B Table的關聯
    3. 開啟VS 2008專案,新增ADO.NET實體資料模型>於Entity Data Model精靈中選擇從資料庫產生。
    2009年6月1日 上午 01:17
  • 第一個問題
    用VS內建的EDM Tools將兩Table拖入後工具會產生相關Class與圖表,然後刪掉你不要的欄位這樣就好了

    第二個問題
    如果需要關連且要保留關連的欄位,在EF中同一欄位不能同時做關連Key後又產生屬性提供存取(因為會有矛盾問題,試想如果程式中更動了關連物件,但屬性確未更新不是產生矛盾現象),所以預設EF並沒有提供此方法,解決方式有2
    1.建View另外再產生一個與原來一模一樣的別名欄位
    2.直接編輯SSDL檔,在來源中使用SQL語法與View方式相同另外再產生一個與原來一模一樣的別名欄位

    2009年6月1日 上午 02:12