2014-12-11 66 views
-2

使用實體框架,C#和.NET 4.5開發新的WinForms項目。在我的數據庫中,我有一個表'老師',有兩列'FirstName'和'LastName'。我怎樣才能用這兩個屬性的值填充一個ComboBox控件?在EF中連接兩個屬性以填充組合框

場景:

private List<Teacher> ShowTeacher(String teacherID) 
{ 
    List<Teacher> teachers = (from teacher in context.Teacher 
          select teacher).Where(t => t.UserID == teacherID).ToList(); 
    return teachers; 
} 

而在組合框的代碼片段:

cmbTeacher.DataSource = ShowTeacher(teacherID); 
cmbTeacher.DisplayMember = ""; //here should be placed the string "FisrtName"+"LastName" 

在此先感謝

回答

1

您將需要包括你的數據源一個全稱值

List<Teacher> teachers = (from teacher in context.Teacher 
          let FullName = teacher.FirstName + " " + teacher.LastName 
          select teacher).Where(t => t.UserID == teacherID).ToList(); 

cmbTeacher.DataSource = ShowTeacher(teacherID); 
cmbTeacher.DisplayMember = "FullName"; 

class Teacher 
{ 
    public string FirstName 
    { 
     get; 
     set; 
    } 

    public string LastName 
    { 
     get; 
     set; 
    } 

    public string FullName 
    { 
     get 
     { 
      return LastName + " " + FirstName; 
     } 
    } 

    public Teacher(string firstname, string lastname) 
    { 
     FirstName = firstname; 
     LastName = lastname; 
    } 
} 
+0

但t在lambda表達式中定義,您的意思是teachers.FirstName +「」teachers.LastName而不是t.FirstName ...? – 2014-12-11 01:11:30

+0

是的我已經修復了這個問題,請刷新頁面 – meda 2014-12-11 01:21:36

+0

我必須在教師課程中添加屬性FullName?因爲它沒有正確顯示。在此先感謝 – 2014-12-11 01:44:15