自動生成EF排序

2021-09-27 02:19:22 字數 961 閱讀 9625

為專案中使用所寫,擴充套件實現根據實體自動生成排序,支援多欄位排序。但必須與查詢實體大小寫匹配。

一,建立排序實體。

/// /// 排序條件模型

///

public class orderitemmodel

public string sorttype

}

二,擴充套件orderby。

public static iqueryableorderby(this iqueryablesource, listoims)

);if (!bnull) return source;

string propertyname = string.empty, sortdirection = string.empty;

var sorts = oims.toarray();

for (int i = 0; i < sorts.length; i++)

else

expression methodcallexpression = expression.call(typeof(queryable), methodname,

new type ,

source.expression, expression.quote(lambda));

source = source.provider.createquery(methodcallexpression);

}return source;

}

三,使用方法。在使用排序表示式的位置傳入。

listoims = new list,

new orderitemmodel,

new orderitemmodel,

};var result = getasync(oims);

result裡就是按上面三個欄位和排序方式的結果。

EF呼叫sp,EF自動生成返回型別

在sp中新增下面的紅色部分,就是執行sp時的返回型別,後面在ef中新增該sp後,ef會在dbcontext檔案中,自動生成呼叫該sp的 包括返回型別等,如下 public virtual objectresultsp customerrequestwriteoff nullableqrtransid...

EF 隨機排序

資料上下文擴充套件 public partial class dbdatacontext iunitofwork 對於從linq to sql遷移過來的開發者,對隨機排序不會感到陌生,直接為datacontext新增乙個方法再配合反射就可以實現隨機排序了,如面所示 而對於linq to entity...

MVC5 模型 生成EF

在看本篇之前請先去了解一下ef以及如何利用模型生成資料庫 看code first就可以了。等你了解了ef以後 在models裡面建立3個類 genre,artist,album public class album public virtual int genreid 外來鍵屬性 乙個流派可能存在多...