有沒有一種方法可以實現從模型中指定的實體類型派生的自己類的實例?假設我的模型中有一個「ClassName」屬性用於給定的實體,並且每當EF實現實體的一個實例時,我想創建一個指定ClassName的實例,而不是實體的子類(當然這是實體的子類) 。在Entity Framework中自定義實體實體化6
我知道ObjectContext上有ObjectMaterialized事件,但此時實體已經創建。
var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += OnObjectMaterialized;
我之前需要一個鉤子來定製對象創建。你可能會問,爲什麼我需要這樣做。我有一個不斷變化的大對象模型,所以我無法在EDMX中定義所有的類。我存儲在數據庫中的屬性可以抽象爲對象模型層次結構頂部的幾個類。我打算爲那些使用table-per-type繼承的實體創建實體。但是如果我能夠在使用EF時直接檢索特定的對象實例,那將非常棒。
謝謝!
不是你的問題的答案,但生成的實體類是部分的。你不能簡單地將你需要的功能添加到這些部分類嗎? – oerkelens
要添加到@oerkelens的評論,您還可以使用擴展類。在世代階段發生變化時,與這代人混淆可能會回來並咬你 – ESG
通過部分類添加方法或屬性是不夠的。我需要在實體類下創建一個帶有繼承的完整對象模型。 –