加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何序列化LINQ-to-SQL惰性列表

发布时间:2020-09-05 23:12:48 所属栏目:asp.Net 来源:互联网
导读:我有一个 linq查询,我试图把它放入一个可序列化的对象,用于分布式缓存(Velocity)但由于LINQ-to-SQL惰性列表而失败 像这样 return from b in _datacontext.MemberBlogs let cats = GetBlogCategories(b.MemberBlogID) sel

我有一个 linq查询,我试图把它放入一个可序列化的对象,用于分布式缓存(Velocity)但由于LINQ-to-SQL惰性列表而失败

像这样

return from b in _datacontext.MemberBlogs
                   let cats = GetBlogCategories(b.MemberBlogID)
                   select new MemberBlogs
                   {
                       MemberBlogID = b.MemberBlogID,MemberID = b.MemberID,BlogTitle = b.BlogTitle,BlogURL = b.BlogURL,BlogUsername = b.BlogUsername,BlogPassword = b.BlogPassword,Categories = new LazyList<MemberBlogCategories>(cats)
                   };

LazyList与Rob Conery在他的MVC店面中使用的是同一类…

所有三个类都标记为可序列化(MemberBlogs,MemberBlogCategories,LazyList …任何想法?

解决方法

如果要将其放在分布式缓存中,则需要完全避免使用LazyList.然后,您可以在整个LINQ语句周围调用.ToList(),如下所示:
(from x select new MemberBlogs).ToList()

这应该是可缓存的,因为它会强制评估查询.

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读