簡體   English   中英

擴展SAAS的實體框架模型

[英]Extending Entity Framework Models for SAAS

我正在構建一個使用實體框架6的asp.net mvc應用程序。我們面臨着構建同一應用程序的多個實現的挑戰。 因此,我們創建了一個名為MyApp.Core的核心庫,其中包含以下內容:

  • DbContext
  • 楷模
    • 顧客
    • 產品
    • (其他型號)
  • 儲存庫

我們需要為應用程序的不同實現擴展模型。 例如,我們可能希望將1個客戶的SomeProperty放在客戶表上,將另一個客戶的SomeOtherProperty放在客戶表上。

我們如何改善結構,以免破壞EF代碼優先遷移? 還是引起其他問題?

我們是否應該為每個引用MyApp.Core客戶提供一個唯一的ASP.net項目? 我們是否應該通過nuget包引用它們? 還是其他類似git子模塊的東西?

對組織這種類型的自定義實現有何建議?

您的解決方案可能是一個IsA(Is-a,a)數據庫結構,可以使用此處提到的TPC方法從代碼優先模型創建: http : //weblogs.asp.net/manavi/inheritance-mapping-strategies具有實體框架代碼的第一個ctp5部分3表每個具體類型的tpc和選擇策略指南

您可能會創建一個抽象,例如ICustomer或CustomerBase,它包含對包含應用程序實現的表的引用(是Product?)。

您也可以將Customer類轉換為基類,其他帶有其他字段的類將從其繼承。

無論哪種情況,本文都將首先將代碼帶入可以處理這種事情的數據庫模型中。 您可能還想看看多租戶體系結構,只是說您已經完成了功課。 在這里: https : //msdn.microsoft.com/en-us/library/aa479086.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM