Разве я не должен приводить таблицу сущностей Linq To Sql к ее реальному типу? - PullRequest
1 голос
/ 07 февраля 2010

Когда я вызываю функцию "f_CategoriNewsGet" из метода Page_Load, я получаю нулевое значение. Но я вижу, что объект 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 ]

1 голос
/ 07 февраля 2010

tblNews - это , а не a Table<News>. Это всего лишь IQueryable<News>. context.GetTable<News> был a Table<News>, но применение операторов запроса приводит к другому типу - результат оператора запроса больше не Table<T>, а (возможно внутренний) тип LINQ to SQL представляющий запрос.

0 голосов
/ 07 февраля 2010

Вы получили ошибку здесь:

Table<News> tblNewsler1 = tblNews;

Должно быть

Table<News> tblNewsler1 =  tblNewsler;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...