2016-12-23 10 views
0

Если у меня есть таблица базы данных, которая выглядит следующим образом:Строка форматирования для SelectList

| ID | FirstName | LastName | 
_________________________________________ 

    1   John    Doe 
    2   Test    Subject 

И я хочу, чтобы создать DropDownList полных имен, как бы я идти об этом?

var fullNameSelectList = new SelectList(db.Test, "ID", "FirstName"); // Gives me a ddl of only firstnames 

var fullNameSelectList = new SelectList(db.Test, "ID", "FirstName" + "LastName"); // Gives me error, database doesn't contain property with name FirstNameLastName 

Есть ли способ объединить эти свойства в пределах перегрузки SelectList?

Я знаю, что могу создать ViewModel, но я просто хочу знать, возможно ли это в первую очередь.

Любая помощь приветствуется.

+0

Вы используете хранимую процедуру, чтобы получить доступ к данным? Я всегда связывал имена в proc (или запрос) и называл их чем-то вроде LastFirst, а затем связывался с этим. –

+0

@EricBurdo Нет Я не использую хранимую процедуру. Использование EF –

ответ

2

Вы можете попробовать это

var fullNameSelectList = new SelectList(
    db.Test.Select(x => new {x.ID, FullName = x.FirstName + " " + x.LastName}).ToArray(), 
    "ID", "FullName"); 
+0

Это сработало! Спасибо! –

+0

Хорошо, теперь как получить это значение FullName в опции 'selectedValue' перегрузки SelectList? –

+0

@BviLLe_Kid думаю, что это должен быть другой вопрос. – tym32167