文章内容

2017/7/28 10:10:22,作 者: 黄兵

The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.

今天在写代码的时候报如下错误:

The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.

截图如下:

应该是Linq表达式不支持采用数组索引查询实体。

看一下代码:

 using(UnitOfWork uow=new UnitOfWork())
            {
                int pre = 0, next = 0, i = 0, j;
                var BlogItem = uow.BlogRepository.GetAll().Where(x => x.Id > 866);
                var getIdList=BlogItem.Select(x => x.Id);
                int num = BlogItem.Count();
                int[] a = new int[num];
                Console.WriteLine("开始建立索引!");
                foreach(var item in getIdList)
                {
                    a[i] = Convert.ToInt32(item);
                    i++;
                    Console.WriteLine("正在为Id为{0}的文章建立索引……", item);
                    var getItem = uow.BlogRepository.Get(x => x.Id == a[i]);
                    SearchIndexManager.GetInstance().AddQueue(getItem.Id.ToString(), getItem.Title, getItem.Body, getItem.CreationTime);
                }
                Console.WriteLine("建立索引完成。");
            }

解决方案:

 Console.WriteLine("正在为Id为{0}的文章建立索引……", item);
                    var getItem = uow.BlogRepository.Get(x => x.Id == item);
                    SearchIndexManager.GetInstance().AddQueue(getItem.Id.ToString(), getItem.Title, getItem.Body, getItem.CreationTime);

黄兵的个人博客原创。

转载请注明出处:黄兵的个人博客 - The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.

分享到:

发表评论

评论列表