2011-06-28 57 views
3

我經常需要從數據層中的存儲過程返回兩列或三列列表。我通常使用實體將數據推回到業務/ UI層。但是,我不想爲不是實體的東西創建實體。如何避免創建從數據庫返回小數據的實體

可以說我必須返回一組「日期,字符串,字符串」,有沒有其他方式來做到這一點..對於兩列,我也許可以脫離字典。我總是最終創建一個虛擬實體,但我想我會問這個時間。

回答

0

創建一個新的模型來存儲數據:

public class ResultModel 
{ 
    public DateTime DateTime1 { get; set; } 
    public string String1 { get; set; } 
    public string String1 { get; set; } 
} 

那麼就您的數據存儲到這個像這樣:

IEnumerable<ResultModel> results = 
    Entities.Table.Select(r => new ResultModel 
    { 
     DateTime1 = r.DateTime, 
     String1 = r.String1, 
     String2 = r.String2 
    }); 

未驗證的代碼,但是指南爲如何實現這個。

+1

這可能會讓一個數據結構的隨機模型混淆爲一個實體。在這種情況下,我寧願爲它創建一個命名實體。 –

+0

該模型當然可以重命名,這只是一個例子。更新的名稱更簡單。 –

+0

儘管如此,我想不出任何更好的解決方案。你還希望什麼? –

0

您或許可以使用Tuple這種數據,但我從來沒有發現任何真正的損害創建更容易理解的類型,即使是簡單的數據。

+0

我還沒有使用.net 4。我不認爲它是一個問題,但似乎沒有必要一次性使用。 –