2008-10-14 35 views
2

我們使用Linq To SQL和我們自己的數據上下文邏輯在多個數據庫中執行一個linq查詢。當我們返回結果時,我們需要每個行的數據庫。所以...如何在Linq To SQL中獲取計算列

我想要在我的類上返回數據庫名稱(SQL Server,因此DB_NAME())的屬性。我如何在Linq To Sql中執行此操作?


戴夫,感謝您的回答,但我們有數百個數據庫,並且不希望有可能的話補充意見。

+0

問題被關閉爲「不再相關」的手動部分添加此。我不明白。對於任何想從linq調用系統函數的人來說,這是一個當前適用的問題。 – 2008-10-14 18:17:49

回答

1

LINQ to SQL允許您將視圖和UDF映射到對象。創建一個執行DB_NAME()的UDF視圖並將其作爲列返回,使用設計器映射它,並且應該很好。

1

在部分DataContext類

[Function(Name = "DB_Name", IsComposable = true)] 
    public string GetDBName() 
    { 
     return ((string)(this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod()))).ReturnValue)); 
    }