![](/img/trans.png)
[英]Setting association to foreign key to inherited object using graphdiff and Entity Framework
[英]How do I change a foreign key association using Entity Framework?
使用ASP.NET實體框架,如何更改兩個實體之間的外鍵關聯?
這是一個示例方案:
--------------- ----------------
| Customer | | Class |
--------------- ----------------
| ID | | Desctription |
| Name | | Name |
| ClassID (FK)|-----| ID |
--------------- ----------------
客戶以D類客戶開始。 客戶花的錢越多,分類將變為C,B或A。如何使用EF做到這一點?
我已經在EF和我的解決方案之間建立了立面(因為某些操作需要EF之外的操作),所以我嘗試通過這種方式進行操作:
customer.Context.Class.ID = facade.SelectClass(ClassID)
那將返回一個業務類的類,但是customer.Context.Class.ID需要一個數據層對象,盡管我可以做到這一點,但這意味着我脫離了設置層設計。
有沒有辦法解決?
抱歉,問題有點混亂或模糊。
首先,讓我們在沒有所有額外圖層的情況下回答問題。 在EF中,您可以執行以下操作:
var customer = Context.Customers.Where(c.Id == id).First();
customer.Class = Context.Classes.Where(c.Id == classId).First();
現在,如何將其映射到業務對象? 我無法在看不到代碼的情況下對其進行調試,但是您需要在外觀中公開一些將業務類型映射到數據層類型的功能。 我使用表達式來執行此操作,但是有很多解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.