LINQ to SQL的Select

和SQL命令中的select作用相似但位置不同,查詢表達式中的select及所接子句是放在表達式最后并把子句中的變量也就是結果返回回來。
一個員工安排到一輛車上,一輛車可以有很多員工,車牌號和員工號是一對多的關系。
員工類

public class Employee
{
       /// <summary>
       /// 車牌號
       /// </summary>
       public int CarNo { get; set; }

       /// <summary>
       /// 員工號
       /// </summary>
       public string EmployeeNo { get; set; }

       /// <summary>
       /// 描述
       /// </summary>
       public string Description { get; set; }

       /// <summary>
       /// 年齡
       /// </summary>
       public int Age { get; set; }
}

獲取員工數據方法

public static List<Employee> GetList()
{
        return new List<Employee>()
        {
                 new Employee(){ CarNo=1,EmployeeNo="NO-1",Description ="廣州分公司",Age=21},
                 new Employee(){ CarNo=2,EmployeeNo="NO-2",Description ="惠州分公司",Age=30},
                 new Employee(){ CarNo=3,EmployeeNo="NO-3",Description ="東莞分公司",Age=27},
                 new Employee(){ CarNo=4,EmployeeNo="NO-4",Description ="廣州分公司",Age=28},
                 new Employee(){ CarNo=3,EmployeeNo="NO-4",Description ="東莞分公司",Age=52},
                 new Employee(){ CarNo=1,EmployeeNo="NO-5",Description ="深圳分公司",Age=18},
                 new Employee(){ CarNo=1,EmployeeNo="NO-6",Description ="中山分公司",Age=21},
                 new Employee(){ CarNo=2,EmployeeNo="NO-7",Description ="廣州分公司",Age=31},
                 new Employee(){ CarNo=5,EmployeeNo="NO-8",Description ="佛山分公司",Age=19},
                 new Employee(){ CarNo=6,EmployeeNo="NO-9",Description ="深圳分公司",Age=20}
        };
}

只要得到所有員工的年齡

var employeeList = Employee.GetList();
var list = employeeList.Select(x => x.Age);
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
     sb.AppendFormat("年齡:{0}<br/> ", item);
}

輸出結果

年齡:21
年齡:30
年齡:27
年齡:28
年齡:52
年齡:18
年齡:21
年齡:31
年齡:19
年齡:20

只要得到所有員工的員工號和年齡

var employeeList = Employee.GetList();
var list = employeeList.Select(x => new { x.EmployeeNo, x.Age });
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
     sb.AppendFormat("員工號{0},年齡:{1}<br/> ", item.EmployeeNo, item.Age);
}

或者
使用SELECT和匿名類型返回員工號和年齡的序列,并將員工號重命名為“EmNo ”,年齡重命名為“EmAge ”。

var employeeList = Employee.GetList();
var list = employeeList.Select(x => new { EmNo = x.EmployeeNo, EmAge = x.Age });
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
     sb.AppendFormat("員工號{0},年齡:{1}<br/> ", item.EmNo, item.EmAge);
}

輸出結果

員工號NO-1,年齡:21
員工號NO-2,年齡:30
員工號NO-3,年齡:27
員工號NO-4,年齡:28
員工號NO-4,年齡:52
員工號NO-5,年齡:18
員工號NO-6,年齡:21
員工號NO-7,年齡:31
員工號NO-8,年齡:19
員工號NO-9,年齡:20

輸出員工所有信息,并判斷是否是老員工(年齡大于30歲算老員工)

var employeeList = Employee.GetList();
var list = employeeList.Select(x => new { EmNo = x.EmployeeNo, EmAge = x.Age, IsOld = x.Age > 30 ? "是" : "否" });
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
      sb.AppendFormat("員工號{0},年齡:{1},是否為老員工:{2}<br/> ", item.EmNo, item.EmAge, item.IsOld);
}

輸出結果:

員工號NO-1,年齡:21,是否為老員工:否
員工號NO-2,年齡:30,是否為老員工:否
員工號NO-3,年齡:27,是否為老員工:否
員工號NO-4,年齡:28,是否為老員工:否
員工號NO-4,年齡:52,是否為老員工:是
員工號NO-5,年齡:18,是否為老員工:否
員工號NO-6,年齡:21,是否為老員工:否
員工號NO-7,年齡:31,是否為老員工:是
員工號NO-8,年齡:19,是否為老員工:否
員工號NO-9,年齡:20,是否為老員工:否
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. SQL 簡介 SQL 的目標 理想情況下,數據庫語言應允許用戶: 建立數據庫和關系結構 完成基本數據管理任務...
    板藍根plank閱讀 2,518評論 0 11
  • 1.簡介 數據存儲有哪些方式?電子表格,紙質文件,數據庫。 那么究竟什么是關系型數據庫? 目前對數據庫的分類主要是...
    喬震閱讀 2,025評論 0 2
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,753評論 18 399
  • 印象中的畫畫,早已成為學生時代美術課上的回憶。回憶中,我也曾有著樂于欣賞美的文藝情懷。 直到有一天,偶然看見一位簡...
    hdj79閱讀 376評論 0 5
  • 隨著年齡的增長,明白的道理越多,對人情世故越淡泊,對感情越覺得幼稚,也不知道自己是怎么了,越來越希望自己有安靜獨立...
    漂亮菲菲迎風迎雨向太陽閱讀 367評論 0 0

友情鏈接更多精彩內容