我很難理解 Entity Framework 如何從幾個 Linq 方法生成單個 SQL 查詢。這是從表中選擇用戶名的代碼。
var result1 = context.UserMasters
.Where(t => t.UserRole == "LOCAL")
.Skip(100)
.Take(100)
.Select(t => new { t.UserName });
通常,上面的代碼與下面的代碼相同。
var test = context.UserMasters.Where(t=> t.UserRole == "LOCAL");
test = test.Skip(100);
test = test.Take(100);
var result2 = test.Select(t => new { t.UserName });
我希望我們可以在任何 Linq 方法之后從表中得到結果。所以總是有一個隨時可用的串列。最初是從表中選擇所有結果并在串列上進行操作嗎?
uj5u.com熱心網友回復:
如果型別是 IQueryable,則資料過濾發生在資料庫端。但是,如果查詢型別是 IEnumerable 或不是 IQueryable,則從表中獲取所有資料并在 .Net 端進行過濾。在這些情況下,始終建議使用 IQueryable。請閱讀 IQueryable 和 IEnumerable 的區別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/428922.html
