2012-08-26 200 views
0

我想返回來自類ApplicaitonType的typenames列表,但我收到錯誤 錯誤1實例參數:無法從'System.Linq.IQueryable'轉換爲'System.Collections.Generic.IEnumerable'C :\用戶\ sharaman \文檔\ Visual Studio 2010的\項目\ IssueTracking \ BAL_IssueTracking \ AppQuery.cs 19 17 BAL_IssueTrackinglinq函數返回列表

請提供您的反饋就可以了...太多appericated

公共靜態列表的AppType()

{

 List<ApplicationType> m = new List<ApplicationType>(); 

     var context = new Dll_IssueTracking.IssuTrackingEntities();// Object context defined in Dll_IssuTracking DLL 

     var query = from c in context.ApplicationTypes//Query to find TypeNames 

        select new { c.TypeName }; 

     //return query.ToList<ApplicationType>(); 

     m = query.ToList<ApplicationType>();//Error here 

     return m; 

    } 

回答

2

您的查詢選擇一個匿名類型的序列:

select new { c.TypeName }; 

目前尚不清楚你如何期望把這一匿名類型爲ApplicationType

鑑於你的數據源名稱,我預計的方法是簡單的:

public static List<ApplicationType> AppType()  
{ 
    using (var context = new Dll_IssueTracking.IssuTrackingEntities()) 
    { 
     return context.ApplicationTypes.ToList(); 
    } 
} 

特別是,它是毫無意義的創造List<ApplicationType>一個實例,然後忽略它,因爲你目前做:

List<ApplicationType> m = new List<ApplicationType>(); 
    ... 
    m = query.ToList<ApplicationType>(); 
    return m; 

爲什麼你會打擾這裏的變量,爲什麼你會分配一個值,它永遠不會使用?

編輯:從您的評論:

其實我需要返回從ApplicaitonType類TypeNames並綁定通過此功能

這表明你的方法不恰當地宣佈下拉列表。 要麼你可以返回一個List<ApplicationType>並指定TypeName在數據顯示部分結合,你可以改變你的方法返回一個List<string>(假設這是的TypeName類型):

public static List<string> GetApplicationTypeNames() 
{ 
    using (var context = new Dll_IssueTracking.IssuTrackingEntities()) 
    { 
     return context.ApplicationTypes.Select(type => type.typeName) 
             .ToList(); 
    } 
} 
+0

你有正確的喬恩,您需要使用塊 –

+0

嗨喬恩,其實我需要從ApplicaitonType類返回TypeNames並綁定通過這個功能來DROPDOWNLIST ... – Raman

+0

@Raman:那你爲什麼要聲明你的方法返回'List '?將編輯... –

0

嘗試這個代碼

public static List<ApplicationType> AppType() 
    { 

     var context = new Dll_IssueTracking.IssuTrackingEntities();// Object context defined in Dll_IssuTracking DLL 

     var query = from c in context.ApplicationTypes//Query to find TypeNames 
        select new ApplicationType{TypeName = c.TypeName }; 
      return query.ToList(); 
    } 
+0

即使在類對象初始值設定項(不是匿名類型初始值設定項)中,即使「TypeName」是ApplicationType所需的唯一屬性,也需要單獨指定屬性名稱和值。 –

+0

我試過這個,但得到一個錯誤 – Raman

+0

正確的喬恩我忘記了我的初始化程序中的屬性,對不起拉曼 –