none
Entity Framework 1對多 新增的問題: RRS feed

  • 問題

  • 各位前輩您們好,小弟有很愚蠢的問題:

    假設有兩張表:

    ================================================

    會員(多)

    --------------------------------------------------------------------------------------

    帳號ID(主鍵)

    帳號

    等等等

    會員等級ID(外來鍵 對到 會員等級 的 會員等級ID)

    ================================================

    會員等級(一)

    --------------------------------------------------------------------------------------

    會員等級ID(主鍵)

    等級名稱

    等等等

    ================================================

    假如我要新增會員,但我不同時新增會員等級(因為會員等級是固定的)要怎麼做呢?請各位前輩們不吝賜教!謝謝。


    • 已編輯 子函 2013年1月1日 下午 05:33
    • 已移動 91MVP 2013年1月2日 上午 01:55 屬於Entity Framework問題 (從:ASP.NET 與 AJAX(ASP.NET and AJAX))
    2013年1月1日 下午 05:29

解答

  • 另外設計一張表:

    會員(同你的會員)

    會員等級(Id, CusId, LevelId)

    等級(同你的會員等級)

    這樣就可以把「會員等級ID(外來鍵 對到 會員等級 的 會員等級ID)」移除,由新的會員等級來記錄即可。


    理直氣和,切記。

    http://blog.kkbruce.net

    • 已標示為解答 子函 2013年1月3日 上午 02:43
    2013年1月3日 上午 02:38

所有回覆

  • 您的1對多指的是一個會員會有多個會員等級嗎?
    2013年1月2日 上午 08:53
  • 是一個等級裡有很多個會員,然後會員只能有一個等級
    2013年1月2日 上午 10:08
  • 直接針對你的會員做SaveChanges不就行了

    http://msdn.microsoft.com/zh-tw/library/bb336792.aspx

    2013年1月2日 下午 05:02
  • 這樣做雖然可以儲存實體內容,但無法對SQL Server的資料表做變更(例外+ InnerException {"ReferentialConstraint 中的相依屬性對應到存放區產生的資料行。資料行: 'UserID'。"} System.Exception {System.InvalidOperationException}
    )。
    順帶一提,我是用ADO.NET 實體設計工具做的
    • 已編輯 子函 2013年1月2日 下午 05:58
    2013年1月2日 下午 05:56
  • 另外設計一張表:

    會員(同你的會員)

    會員等級(Id, CusId, LevelId)

    等級(同你的會員等級)

    這樣就可以把「會員等級ID(外來鍵 對到 會員等級 的 會員等級ID)」移除,由新的會員等級來記錄即可。


    理直氣和,切記。

    http://blog.kkbruce.net

    • 已標示為解答 子函 2013年1月3日 上午 02:43
    2013年1月3日 上午 02:38
  • 謝謝大大,那這個例外代表是什麼意思呢?實在是不太了解。
    2013年1月3日 上午 02:43
  • 不知道你完整程式與資料庫完整架構,只能猜猜。

    就錯誤訊息:

    http://msdn.microsoft.com/zh-tw/library/system.data.metadata.edm.referentialconstraint.aspx

    應該是約束條件造成的錯誤。


    理直氣和,切記。

    http://blog.kkbruce.net

    2013年1月3日 上午 03:22
  • 謝謝大大已經解決,原來是我的資料表沒有建好,用Entity Framework連線SQL Server還真是嚴謹阿。
    2013年1月3日 上午 08:31