0

頻繁に (再) ロードされる検索ページのドロップダウン リストにバインドするために、いくつかのユーザー固有のデータ セットを戻す必要があります (ポストバック データを利用できない可能性があります)。データベースに一度ヒットし、必要に応じて、データベースから再度取得するのではなく、セッションデータからドロップダウンリストを作成したいと考えています。

セッションを設定すると (下の最後の行)、評価された結果が保存されますか、それともセッションを参照すると毎回クエリが再実行されますか? 後者の場合、匿名型の使用を維持しながら、セッションを設定する前に評価を強制する最良の方法は何ですか?

public class CustomClass
{
    public IQueryable Results1 { get; set; }
    public IQueryable Results2 { get; set; }
}

public static CustomClass GetResults()
{
    var results1 = (
        from t in Table
        select new
        {
            t.Id,
            t.Value
        };

    var results2 = (
        from t in Table
        select new
        {
            t.Id,
            t.Value
        };

    return 
        new CustomClass
        {
            Results1 = results1,
            Results2 = results2
        };
}

*****

Session["Results"] = GetResults();
4

1 に答える 1

0

.ToList()onresult1と を使用するだけresult2です。

return  
    new CustomClass 
    { 
        Results1 = results1.ToList(), 
        Results2 = results2.ToList() 
    }; 
于 2012-06-27T14:43:47.083 に答える