ef/linq行转列

发布时间:2024-01-17 11:33:32来源:https://www.cnblogs.com/bamboo-zhang/p/10128920.html阅读(459)

    data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAATEAAADECAYAAAD3TRZ2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA0vSURBVHhe7d1dktu6EYZhreXEnuPr7MVXWV/24A34t2zHd9lBrr2DiWEbOT1I/5AtqYcE3qeqSxQA0sNPRJeSTE0uDw9/Pv5VD48vW718eHzx4uWP11YPP8flmr7uxY/5tu7p2h9r/vxdv9f/8cffHl+9ekVRFHXzurx58+ax1/fv3/9X3759e/L+uer169ebxqrr48eP6nh1kc8cddTP8QxlNrGvX78+ef9cddQP9/379+p4dY1ZHOXBP0o+Z6mjfo5nqIs22Orz58/qeGW1D7KXN/Yc9fbtW3W8smQWR8hE1hHyOVsd8XM8Q5lN7NOnT+o49avYpH6RD1VVZhP78OGDOk79KjapX+RDVdXly5cvP/+jY/vm1f7L2Na83r179/MhpCiKOnqZ38TaJGzk4yMfVKGJJZGPj3xQhSaWRD4+8kEVmlgS+fjIB1VoYknk4yMfVNncxC6Xy/9V583NSuaj3fNKWWhoYqiy+5uYtSm1TTwzq8lLs2fgoYmhyt2aWDPzJqaJ+WhiqEITS9KamHxtZr7/CE0MVWhiSZkm1t73kuT4WJI3dzQyH/nzej97nxvXyPfWcdPfe+Pae5wbTSzJamJNP9bGOu+9djyub7Sxo9Dy0e6r8+7PW2utabTztHNxbjSxpL1NTGrj45x2ftOPx/WNNnYUXj6ddp+SNd+P95zfaGtwfjSxpEwTa++9uU47bq9aHdW9mlh7lcddHx9LGt9jDjSxpGiTtvdyTJuXrLX9eFx/dPdsYvK1084fbVmD87lbE5v9gbmmiY1zjbdWvkra2FFo+Wj31W25v1uej3lsbmLtARir8+ZmJfOx7lt738e0Y29OHsuxo7KavPez9zlrjRyz5mV147icw/nt/iaGX8jHZzUx4NZoYknk45P58A0I93RpDxtFUdRZi29iSeTjIx9UoYklkY+PfFCFJpZEPj7yQRWaWBL5+MgHVWhiSeTjIx9UoYkFrF8LuCafFX7VQMtH/qpFr6N5jp9pzKTXXtnzzo4mZogepkw+0TVnMuaj3XMfO1ImW3+O6Gfee0/a2r3X18ZWQBMLWA/FNfms8KDtaWLNUTJpP8fWnyVat+ee5Npb/fuazDlHRxMLWB86Tcy3pYlJR8ik/wxbf5Zb3pNce6t/X5M55+hoYgHrQ9fyaWt7eWZ8kEZWPpY+1/PT1so5OS/fW8dbyPM0/XqypGjes+W8cY1cp41Jct5bd0Y0sYD1YUffNLyHZKYHyGI9P+3etfvXxuV76xz52kXnWbzztOtE/442ZslcK/NvRvNnRBMLWB+6l087x3tYZnyQRtHzM2agZSLH9sz3Y+0cT1svS9KuJcei+UjmWpl/M5o/I5pYwPrQtXza2r7ee1hmfJBGW54fmYOWSWa+vcrjrca10ftGjkXzkWjt1utnrnN2NLGA9aGP+YzrvIdlxgdpFOXTyLFbzY+vW229vrRnPnKr60f/ZjR/RjSxgPWhe5u0HXsPy4wP0qi6iTXe+vZeu0anze253pb5cY2kzY3nS9b1tDHJu+ZZ0cQM/SGRJWn5yHXaOX1M1qy0Jmbde2ZMjnfj2pE21vTrjedHY5l5TV831mic045lWaL5s6GJJZGP74j5PPfGnalxHAlNLIl8fEfLhwY2L/48NUVRpy6+iSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmZmj/k7isUSaf6Joz0fIZ73/2DFCDJqbQNtc4tjefLdecyZiPd//tdeYscF80MYW34TqamG9PE2tmzgL3RRNTbGk4NDHfliYmzZwF7osmttGWJtbW9Npi5o1r5WPpcz0/ba2ck/PyvXWMedHENtA2QvRNI9o8s28u6/lp963duzYu31vnyNcuOg9zoYkFrE3g5dPO8TbPChsren7GDLRM5Nie+X6snYP50MQc3ibQ8mnrow20ysba8vzILLRcMvPtVR5jfjQxQ7QBxnzG9dr5K22qKJ9Gjt1qfnzF/GhiimjDNN4mbcfj+i3XnEl1E2ui9ZgTTUzRNoBWkpaPXDee09+PNSutiVn3nhmT4924FmugiSWRj498UIUmlkQ+PvJBFf48NUVRpy6+iSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFf48NUVRpy6+iSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmlkQ+PvJBFf48NUVRpy6+iSWRj498UIUmlkQ+PvJBFZpYEvn4yAdVaGJJ5OMjH1ShiSWRj498UIUmFrhcLr+PnromH+uaM9Hyafc9FnAtmpgh2miZfKJrzmTMR7vnPrZKJrgPmljA2lzX5LPCht3TxBqaGLJoYgGaWM6WJibRxJBFEwvsaWJtbS/PChvWysfS53p+2lo5J+fle+sY86KJBaxNEH3T8DbPChvLen7avWv3r43L99Y58rWLzsNcaGIBaxN4+bRzvM2zwsaKnp8xAy0TObZnvh9r52A+NLGAtRG0fNraLRtohc215fmROWiZZObbqzzG/GhiAWsjjPmM67wNtMLmivJp5Nit5sdXzI8mFrA2g7dJ27G3iVbYYNVNrInWY040MUPbBGNJWj5ynXZOH5M1K62JWfeeGZPj3bgWa6CJJZGPj3xQhSaWRD4+8kEV/jw1RVGnLr6JJZGPj3xQhSaWRD4+8kEVmlgS+fjIB1VoYknk4yMfVKGJJZGPj3xQhSYWsH5p8pp8VvhFTCsffgkVt0YTM7TN1kuTySe65kyubWJRTqvkiBhNLGBtlGvyWWHzeU1s6/1H61bIETGaWMDaKDQxn5ZPv++t9x+tWyFHxGhiAWujWJu0l2eFzZdpYj07WVI0jzXRxALWRhnzGdd5G2yFzec1sWZLXt76RhvDemhiAWujePm0c7wNtsLms5qYLEnLRI5F81gXTSxgbRRvk/Zjywqbb8xnvOfofSPHonmsiyYWsDbK3k0qrbD5onwaOXbtPNZFEwtYG8XbpO3Y22ArbL5rm1h7v2ce66KJGfomkSVp+ch12jl9TNasZD7a/W4Z2zuPNdHEksjHRz6oQhNLIh8f+aCK+uep//HPv/8sbY6iKOpIdfn3f/71OFZvYrC18GAjH1ShiSWxSX3kgyo0sSQ2qY98UIUmlsQm9ZEPqtDEktikPvJBFZpYwPplyms26Qq/oCnz6b+UOtZe2fMwN5qYIdpsmSYWXXMmYz7aPXs5aDlpYwBNLGBtGr6J+bwmtvX+MzmtkC2eookFrE1BE/PRxFCFJhawNoXWxNraXp4VNprWxKJ8xjVynTYmyXlvHeZDEwtYm8H7ptF4m2iFDbb3m9g1Y1I0j/nQxALWptC+iXXtHG8zrbDRaGKoQhMLWJtCa2JtbV/vbaYVNlr0TXWkzW8dk1bIFk/RxALWpog2qbeZVthoW5qYHIvmuyi7aB7zoYkFrE0R/cclbzOtsNGubWLtfXSOxrsm5kQTM/RNJEsaN2kj12nn9DFZs5L5aPfdajTOaceyLNE85kITS9KaGP5CPqhCE0tik/rIB1X489QURZ26+D8KSSIfH/mgCk0siXx85IMqNLEk8vGRD6rQxJLIx0c+qEITSyIfH/mgCk3MIH+pUvvFyUw+0TVnouUz3v/sGaAGTUyhba5xbG8+W645kzEf7/7b68xZ4L5oYgpvw3U0Md+eJtbMnAXuiyam2NJwaGK+LU1MmjkL3BdNbKMtTayt6bXFzBvXysfS53p+2lo5J+fle+sY86KJbaBthOibRrR5Zt9c1vPT7lu7d21cvrfOka9ddB7mQhMLWJvAy6ed422eFTZW9PyMGWiZyLE98/1YOwfzoYk5vE2g5dPWRxtolY215fmRWWi5ZObbqzzG/GhihmgDjPmM67XzV9pUUT6NHLvV/PiK+dHEFNGGabxN2o7H9VuuOZPqJtZE6zEnmpiibQCtJC0fuW48p78fa1ZaE7PuPTMmx7txLdZAE0siHx/5oApNLIl8fOSDKuqfp6YoijpL8U0siXx85IMqNLEk8vGRD6rQxJLIx0c+qEITSyIfH/mgCk0siXx85IMqNLEk8vGRD6rQxJLIx0c+qEITSyIfH/mgCk0siXx85IMqNLEk8vGRD6rQxJLIx0c+qEITSyIfH/mgCk0siXx85IMqNLEk8vGRD6rQxJLIx0c+qEITSyIfH/mgCk0siXx85IMqNLEk8vGRD2o8Pv4X9WKmUbHgVE8AAAAASUVORK5CYII=

    1、linq列转行(如图从上到下,action_type即power字段),其实严格意义上来说,并不是linq,只是用了循环

    
    List<NavigationDto> leaf = new List<NavigationDto>();
    //列出所有操作权限
    managerList.Where(t => t.action_type.Length > 0).ForEach(
    a => a.action_type.Split(',').ForEach((t) => leaf.Add(new NavigationDto {
    id = a.id+"_"+ t,
    parent_id=a.id,
    name = t,
    title =t
    })));

    2、linq行转列 (如图从下到上,action_type即power字段)

    
    var actPower = leafPower.GroupBy(t => t.navigation_id).Select(
    t => new dt_manager_role_value() { navigation_id = t.Key, role_id = RoleID,
    action_type = string.Join(",",t.Select(p=>p.action_type))});

关键字行转列