1
我們有一個特定的結構稱爲措施,我們希望改爲使用這種類型的數據庫字段類型如的雙。使用投影來填補未映射類型的EF
所以我們有一個實體:
public class MyEnity
{
public int MyValue { get; set; }
}
我們有一個傳輸對象: 公共類MyDto { 公共措施MyMeasureValue {獲得;組; } }
如果屬性類型將匹配,我們就可以填補我們的DTO的每個投影:
enities.Select(i => new MyDto { MyMeasureValue = new Measure(i.MyValue, _unitsService.GetUnit("km")) });
但由於EF不支持這樣的言論,我們要補充這一點,或者加載整個實體:
entities.Select(i => new { MyValue = i.MyValue })
.AsEnumerable()
.Select(i => new MyDto { MyMeasureValue = new Measure(i.MyValue, _unitsService.GetUnit("km")) });
我們想在回填過程中避免多次循環,尤其是因爲有很多屬性需要填充。我們可以通過第一條語句並教EF執行度量創建嗎? (例如攔截等)
PS。創建EF複合類型並映射它不是一種選擇!
感謝Enyra
COMPLEXE類型是沒辦法,因爲我們的類型,並必須有一個結構。 Automapper可能是一個解決方案,我必須澄清這一點。 – Enyra 2012-04-02 11:08:06