列旋轉數據我寫了下面的查詢按行轉換爲使用LINQ列旋轉數據:如何通過行轉換爲使用LINQ
var query = from p in context.PrivilegesTable
group p by p.Type into g
select new Privileges
{
Type = g.Key,
AllowRead = g.Any(p => p.Seq == 1),
AllowAdd = g.Any(p => p.Seq == 2)
AllowEdit = g.Any(p => p.Seq == 3)
AllowDelete = g.Any(p => p.Seq == 4)
};
我認爲有實現它一個更好的辦法。有關詳細信息,請閱讀以下內容:
我有以下特權表:
Type Seq
1 1
2 1
2 2
3 1
3 2
3 3
而下面的特權階級:
class Privileges
{
public int ID { get; set; }
public Type Type { get; set;}
public int AllowRead { get; set; } // when sequence = 1
public int AllowAdd { get; set; } // when sequence = 2
public int AllowEdit { get; set; } // when sequence = 3
public int AllowDelete { get; set; } // when sequence = 4
}
現在,我想創建一個使用LINQ到List<Prvileges>
有以下結果:
[Type,AllowRead,AllowAdd,AllowEdit,AllowDelete]
[1,真,假,假,假]
[2,真,真,假,假]
[3,真,真,真,假]
是我的查詢性能不好? 有更好的嗎?
感謝您的答案,但數據存儲,我只想編寫最好的LINQ查詢來閱讀它。 – Homam 2011-02-07 17:21:49