Impossible is nothing

记录在sharepoint工作中的经验

博客园 首页 新随笔 联系 订阅 管理

目前项目需要比较复杂的查询功能, 如果直接写CAML的话以后维护非常麻烦, 然后暂时用LINQ to SharePoint替代之~ URL:

http://linqtosharepoint.codeplex.com/

 

最大的优点是我不用写CAML了, 非常容易实现一些简单的查询功能,

 

问题也有很多,譬如:

问题1:

工具SpMetal生产的代码文件类上面出现以下属性:

[global::BdsSoft.SharePoint.Linq.ListAttribute("tbl_task", Id = "9a79692c-2a8f-4f07-ae90-57cfb1abb213", Version = 28, Path = "/Lists/tbl_task")]

在开发机器上开发,然后部署到测试环境以及生产环境中, ID是不一样的; 发布的时候我都要重新修改这个值来编译, 而且最郁闷的是那个Version是经常变的,这样就抛出了异常了:

List version mismatch between entity type and list definition on the server.

 

问题2:

合法情况:

u.Age < u.DoubleAge
u.FirstName.Contains(u.NickName)

 

不合法情况:

假如我需要一个多选的字段内容, 我把选择的信息放在了一个List<string> list变量中,然后使用以下代码将直接报错:

 

u.Age < u.DoubleAge
list.Contains(u.NickName)

 

SP0007: Query predicate contains a method call on a non-entity property: Contains. 

 

以上是我碰到的问题,欢迎大家讨论~~

 

最后: 当本人下载该源代码后发现里面取数据的方式是通过Web service的方式,所以速度性能上受到影响,建议大数据量的查询不推荐使用Linq to sharepoint

posted on 2009-05-18 12:18  Lordan  阅读(1021)  评论(2编辑  收藏  举报