开发者

Problem in LINQ query formation

I have written

List<int> Uids = new List<int>();

    Uids = (from returnResultSet in ds.ToList()
                             from portfolioReturn in returnResultSet.Portfolios
                             from baseRecord in portfolioReturn.ChildData
                             select new int 
                         开发者_StackOverflow社区    {
                                 id = baseRecord.Id
                             }).ToList<int>();

Getting error: 'int' does not contain a definition for 'id'

what is the problem that i created?

Thanks


Try this:

List<int> Uids = (from returnResultSet in ds.ToList()
                  from portfolioReturn in returnResultSet.Portfolios
                  from baseRecord in portfolioReturn.ChildData
                  select baseRecord.Id).ToList<int>();

Since you want to get a list of integers you can simply project the Id property from your query and then use the ToList extension method to buffer them into a List<T>. As a side note, are you certain that a List<T> is the right type to use here? You are forgoing the benefit of deferred execution and will not be able to stream these ids if you buffer them into a List<T>.


Your code is trying to instantiate ints, setting an id property that doesn't exist. I think the following is what you need.

Uids = (from returnResultSet in ds.ToList()
                     from portfolioReturn in returnResultSet.Portfolios
                     from baseRecord in portfolioReturn.ChildData
                     select baseRecord.Id).ToList<int>();


The problem is with the: select new int {} part.

Try simply doing:

List<int> Uids = new List<int>();

Uids = (from returnResultSet in ds.ToList()
                         from portfolioReturn in returnResultSet.Portfolios
                         from baseRecord in portfolioReturn.ChildData
                         select baseRecord.Id
       )
       .ToList<int>();

select new {} syntax is for defining anonymous types (where use is limited to the same function scope).

Andrew.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜