====
(from a in newlist
join b in db基本.產品資料檢視 on a.產品序號 equals b.產品編號 into b1
from b in b1.DefaultIfEmpty()
select new { a, b }).Select(a =>
{
a.a.產品名稱 = a.b == null ? a.a.產品名稱 : a.b.產品名稱;
return a.a;
})
※因為是left join,要使用關聯物件的屬性前需要先判斷物件是否為null 避免nullexception
equals 多個屬性
====
寫法有兩種,第一種寫法若有錯誤則必須改用第二種(原因不明)
1. new { 本次盤點.產品編號, 本次盤點.盤點單.倉庫 } equals new { 期初盤點.產品編號, 期初盤點.盤點單.倉庫 }
2. new { a=本次盤點.產品編號, b=本次盤點.盤點單.倉庫 } equals new { a=期初盤點.產品編號, b=期初盤點.盤點單.倉庫 }
====
.GroupBy(a => new { a.銷貨資料.客戶編號, a.產品編號 })
order by 多個屬性
====
.OrderBy(a =>a.客戶編號).ThenBy(a=>a.產品編碼).ThenBy(a=>a.產品序號)
List
====
.Exists(p => ...) // 判斷是否存在特定物件
.Find(p => ...) // 尋找第一個特定物件
IEnumerable<T>
====
.Where(row => ...) // 尋找符合某些條件的row
(from a in 採購單明細Model.取得採購單明細列表(門市代號,採購單號) select a.交貨日期).Distinct() // 找出某個屬性不重複的資料並取出屬性值
.GroupBy(a => a.姓名).Select(a => a.First()) // 找出某個屬性不重複的資料並取出相同群組中第一個物件
從 IEnumerable 轉為 IEnumerable<T>
====
.Cast
沒有留言:
張貼留言