2009-09-14 12 views
3

我想在我的LINQ查詢中加入UCASE或ToUpper列。如何在LINQ to SQL查詢中以大寫形式輸出列?

var query = from rsn in db.RSLReasons 
      orderby rsn.REFCMNT 
      select new {rsn.REFCODE, rsn.REFCMNT}; 
dtReasons = query.ToADOTable(rec => new object[] { query }); 

如果我嘗試運行下面的代碼:

var query = from rsn in db.RSLReasons 
      orderby rsn.REFCMNT 
      select new {rsn.REFCODE, rsn.REFCMNT.ToString()}; 
dtReasons = query.ToADOTable(rec => new object[] { query }); 

我收到以下錯誤消息在編譯:

無效的匿名類型成員 聲明符。匿名類型成員 必須聲明與成員 指定,簡單名稱或成員 訪問。

回答

12

使用ToUpper() ...但你需要在匿名類型指定屬性的名稱,因爲它再也不能推斷。

var query = from rsn in db.RSLReasons 
      orderby rsn.REFCMNT 
      select new {rsn.REFCODE, REFCMNT = rsn.REFCMNT.ToUpper()}; 

dtReasons = query.ToADOTable(rec => new object[] { query });