3
我有一個將一種類型的對象轉換爲另一種類型的表達式。表達式如下:在Linq select子句中重用表達式(查詢格式)
public Expression<Func<SQLRepository.ActionType, Model.ActionType>> DBActionTypeToActionType =
(SQLRepository.ActionType at) => new Model.ActionType()
{
ID = at.OID,
DisplayName = at.DisplayName
};
我可以用這樣的表達:
var linq = (from at in dc.SQLRepositoryDC.ActionTypes select at).Select(DBActionTypeToActionType);
但我想用這樣的:
var linq = (from at in dc.SQLRepositoryDC.ActionTypes select DBActionTypeToActionType.Compile().Invoke(at));
我一直現在尋找幾天,我只能在Where子句中找到這樣做的參考。看來,如果我能夠使用函數調用來做到這一點,應該可以使用查詢語法。
使用查詢語法很重要的原因是,某些正在被選中的對象是由許多子對象組成的,並試圖將所有轉換鏈接在一起,並且函數符號會更加困難編寫和維護。
是的,這有很大的幫助。我沒有考慮將select函數應用到_BEFORE_表中,我在收集所有數據之後試圖做到這一點。 非常感謝。 – 2010-07-15 21:14:46