2015-08-11 1 views
0

У меня есть список выбора, который заполняется с помощью LINQ, используя следующий код:Включить несколько значений в списке Linq

public List<string> getCustomerNames() 
{ 
    var Customers = (from c in _context.OCRDs 
    where c.CardType == "c" 
    select c.CardCode 
    ).ToList(); 

    return Customers; 
} 

Я пытаюсь создать несколько столбцов списка, так что «CardCode» может быть значением, а «CardName» может выступать в качестве описания в списке.

Для примера:

C001 name1

C002 Name2

+0

Вы можете использовать словарь или создать для него специальный класс – Marusyk

ответ

1

Создать новый класс результатов и значения запроса в этом классе:

class Item 
{ 
    public string CardCode {get;set;} 
    public string CardName {get;set;} 
} 

public List<Item> getCustomerNames() 
{ 
    var Customers = (from c in _context.OCRDs 
         where c.CardType == "c" 
         select new Item { CardCode = c.CardCode, CardName = c.CardName } 
        ).ToList(); 

    return Customers; 
} 
+0

Отличное решение, thankyou @Backs –

1

Вы можете использовать Dictionary вместо List :

public Dictionary<string, string> GetCustomerNames() 
{ 
    var Customers = (from c in _context.OCRDs 
         where c.CardType == "c" 
         select c) 
         .ToDictionary(c => c.CardCode, c => c.CardName); 

    return Customers; 
}