代码之家  ›  专栏  ›  技术社区  ›  uzay95

我不应该将Linq to SQL实体表强制转换为它的实际类型吗?

  •  1
  • uzay95  · 技术社区  · 14 年前

    当我从页面加载方法调用“f_categorynewsget”函数时,我得到的是空值。但我可以看到tblnewsler对象在返回行之前已经充满了对象。

    protected void Page_Load(object sender, EventArgs e)
    {
        var tblNewsler = News.f_CategoriNewsGet("ÇEVRE", 18); // return object is always
        Table<News> tblNewsler1 = tblNews;
        rptNatureNews.DataSource = tblNews != null ? tblNews.Take(6) : null;
        rptNatureNews.DataBind();
    }
    
    static public Table<News> f_CategoriNewsGet(string _sCategoriName, int _iTop)
    {
        var tblNews = (from news in DAO.context.GetTable<News>()
                           join kategori in DAO.context.GetTable<NewsCategori>() on                                news.M_RefNewsCategoriId equals kategori.M_NewsCategoriId
                           where kategori.M_Adi.Equals(_sCategoriName)
                           orderby news.M_InsertDate descending
                           select news).Take(_iTop);
        return tblNews as Table<News>;
    }
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   itowlson    14 年前

    TBLNeX是 Table<News> . 这只是一个 IQueryable<News> . context.GetTable<News> 表<新闻> ,但应用查询运算符会导致另一种类型--查询运算符的结果不再是 Table<T> ,但表示查询的(可能是内部)Linq to SQL类型。

        2
  •  0
  •   ozczecho    14 年前

    你这里有个虫子:

    Table<News> tblNewsler1 = tblNews;
    

    应该是

    Table<News> tblNewsler1 =  tblNewsler;