我有一個EF模型,我在邏輯上有一個「模板」型和實體框架繼承創建coresponding實體
基本上我的模板是像工作流和實例是那些模板「的模板類型的實例」應用於對象。該關聯是一個模板有零到多個實例,一個實例總是基於一個模板。例如,模板可以是「發送信件」,其被髮送給客戶以創建發送的信件的實例,其包括髮送日期,該信件的pdf等。
該模板具有幾個子類/類型它將始終匹配也具有相應子類的實例。
問題是如何確保當我創建一個實例(它將有一個對模板的引用)時,該實例具有正確的繼承類型。
例如,如果模板的類型是TemplateType2(從模板繼承),並且我將實例添加到loan1 .. loan1.TemplateInstances.add(foo)...我想確保foo的類型爲InstanceType2。
我現在這樣做的方式似乎是這樣的黑客攻擊。我將實例實體名稱作爲標量值存儲在模板實體中,並使用反射來創建正確類型的實例。
它可以工作,但它基本上使用屬性的值來進行映射,如果它們與實例名稱的名稱不匹配,或者如果它們輸入錯誤的實體名稱會更糟糕,從而暴露各種錯誤的可能性。
任何想法或想法如何解決這個問題?