最近在乙個專案裡有個任務。任務裡涉及到兩張表 ------賬號表(user),使用者審核記錄表(usercheck)。
任務要求:父賬號的排序 要按照父賬號下屬的子賬號的最新審核記錄為 「等待審核」,如果都是 「等待審核」 就再按審核時間排序。
任務裡涉及到兩張表 ------賬號表(user),使用者審核記錄表(usercheck)。下面是會用到的字段
user表–user表裡儲存著父級賬號和子級賬號。
欄位名資料型別
備註userid 賬號id
int主鍵id
isdelete 刪除標誌
bit–
parentuserid 所屬父賬號
int–
usercheck表–usercheck表裡儲存 user 的審核記錄。
欄位名資料型別
備註usercheckid
int主鍵
userid 賬號id
int外來鍵id,關鍵關聯 user 表
afterischeck 審核後狀態
tinyint
0為未審核
checktime 審核時間
datetime
–一開始 是想用 orderby的乙個很少用的語法來寫,自寫乙個比較器。
orderby
<
tsource
,tkey
>
(this iqueryable source, expression
> keyselector, icomparer comparer)
;
但這種方法需要多次查尋資料庫,次數多了,**就崩了,無耐放棄。
最後,在 user 的 model 那加了兩屬性,lastcheckstatus 和 lastchecktime 。
用兩屬性直接先去拿到最新的審核狀態和最新審核時間,然後控制器裡再進行orderbydescending 處理
//user model
public
partial
class user
}// 獲取最新審核狀態
public
int lastcheckstatus
}//獲取最新審核時間
public
datetime lastchecktime
}}
控制器
public
actionresult
user
(vmodeluser t)
)//這裡再按最近審核時間排
.thenbydescending
(u =
>);
...return
view(.
..);
}
第一次寫文,各方面沒經驗,大家手下留情啊!!!!^ _ ^ 開心開心開心極了 2020 12 1日記
今天也沒做什麼事情,但是晚上此刻寫日記的我,心情就是不錯。記錄一下今天發生了什麼吧。早上去上數電的最後一節課,剛上課,老師說我們是二月一號放寒假,那你們想結課了就早一點把這門課考了還是等到期末啊。他剛說完,大家沒有過多的思考,底下就說了想期末的時候再考。她有點詫異,你們不是不少課都要結課了嘛 我靈機...
排序2 複雜排序
堆排序是一種選擇排序,遍歷後選擇陣列中最大的值放到堆頂,可用陣列實現,最好和最壞和平均複雜度都為o nlogn 不穩定。堆就是一種完全二叉樹,排序特徵是堆頂元素大於子元素 不管子元素之間的排列 完全二叉樹的特徵是層序遍歷等於滿二叉樹的層序遍歷 也就是底層可以沒有右邊的子樹 用陣列來描述堆的定義有大頂...
QT開發日記
1,在使用moc的時候,q object這個巨集不能用在乙個類的定義檔案中,只能在單獨作為乙個類的宣告檔案中用,否則會出現 vtable for x 類名 的出錯提示。如果乙個類只宣告了,而沒有定義,也會出現上述錯誤.這時可以在這個檔案的末尾加上 include moc xx為不要.cpp字尾的檔名...