1

次のコードがあります。しかし、それは例外を引き起こします。

                using (var context = new blogEntities())
                {
                    var listOfComments = context.Comments
                        .OrderByDescending(c => c.CreateDate)
                        .Where(c => c.CreateDate > fromDate)
                        .Select(c => new NewsFeedData()
                        {
                            ArticleID = c.ArticleID,
                            CommentID = c.CommentID,
                            Text = c.CommentText,
                            Author = c.Author,
                            CreateDate = c.CreateDate,
                            Type = 'C'
                        }).ToList();
                 }

私はenumを試しましたが、いくつかの問題があります。私が望むものを達成するための最良の方法は何ですか? Type に定数を代入したい

4

1 に答える 1

4

簡単な方法の 1 つは、データベースからすべての値を匿名型にフェッチしAsEnumerable、最終的な射影の前に LINQ to Objects に切り替えることです。

using (var context = new blogEntities())
{
    var listOfComments = context.Comments
        .OrderByDescending(c => c.CreateDate)
        .Where(c => c.CreateDate > fromDate)
        .Select(c => new { c.ArticleID, c.CommentID, c.CommentText,
                           c.Author, c.CreateDate })
        .AsEnumerable() // Switch into LINQ to Objects
        .Select(c => new NewsFeedData
        {
            ArticleID = c.ArticleID,
            CommentID = c.CommentID,
            Text = c.CommentText,
            Author = c.Author,
            CreateDate = c.CreateDate,
            Type = 'C'
        }).ToList();
 }
于 2012-06-29T16:41:20.557 に答える