【问题标题】:Serialize iqueryable序列化 iqueryable
【发布时间】:2011-09-16 03:55:26
【问题描述】:

我有一个 ascx 用户控件和 Entity Framework IQueryable 属性,如下所示:

  public IQueryable<Category> DataSource
    {
        get { return ViewState["Category"] as IQueryable; }
        set { ViewState["Category"] = value; }
    }

如您所见,我尝试使用 ViewState 来保存该值,并且不必在每次回发时都设置它,但它说类型未标记为可序列化...

如何将其标记为可序列化?,是否推荐将此属性保存在 ViewState 上,还是最好在每次回发时设置?

【问题讨论】:

    标签: asp.net entity-framework viewstate iqueryable


    【解决方案1】:

    基本上,IQueryable 不可序列化,因为它不是数据。查询就像达到目的的手段,而不是目的本身。

    我会将结果集保存在缓存中,而不是 ViewState。

    【讨论】:

      【解决方案2】:

      如果您绝对必须将数据保存在 ViewState 中,您总是可以自己序列化它或以其他方式将其展平。

      【讨论】:

        猜你喜欢
        • 2012-09-02
        • 1970-01-01
        • 2011-04-22
        • 1970-01-01
        • 2016-06-05
        • 2011-11-03
        • 2012-04-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多