1. 程式人生 > >EF使用Linq或Lambda查詢出部分列

EF使用Linq或Lambda查詢出部分列

實體模型

在這裡插入圖片描述

查詢出單列

使用 Linq 查詢出ID列

var ids = from order in ef.SalesOrder
	select order.ID;//得到ID
 foreach (var id in ids)
 {
	 Console.WriteLine(id);
}

使用 Lambda 查詢出ID列

var ids = ef.SalesOrder.Select(s => s.ID);//查詢出ID
foreach (var id in ids)
{
	Console.WriteLine(id);
}

生成的查詢語句

SELECT 
[Extent1].[ID] AS [ID]
FROM [dbo].[SalesOrder] AS [Extent1]

效果

在這裡插入圖片描述

查詢出多列

使用 Linq 查詢出ID與Code列

var orders = from order in ef.SalesOrder
             select new//使用匿名物件儲存
             {
                 order.ID,//得到ID列
                 order.Code//得到Code列
             };
foreach (var order in orders)
{
    Console.WriteLine("{0}----{1}"
, order.ID, order.Code); }

使用 Lambda 查詢出ID與Code列

var orders = ef.SalesOrder.Select(s => new //使用匿名物件儲存
 {
	s.ID, //得到ID列
	s.Code //得到Code列
});

生成的查詢語句

SELECT 
[Extent1].[ID] AS [ID], 
[Extent1].[Code] AS [Code]
FROM [dbo].[SalesOrder] AS [Extent1]

效果

在這裡插入圖片描述

SalesOrder表內容

在這裡插入圖片描述