一、Linq to SharePoint

首先Linq to SharePoint编程语言 C# 和 Microsoft Visual Basic .NET 的一个功能,编译器是 Visual Studio 附带的。

Linq to SharePoint是LINQ家族中的一员,如果使用过例如Linq to SQL的话,就会发现Linq to SharePoint与其有很多相同之处。

如Linq to SQL中有DataContext类,用来打开数据库连接并进行操作。Linq to SharePoint也有DataContext,同样用来对SharePoint中的数据进行操作。

二、SPMetal

使用Linq to SharePoint 很重要的一步是生成Entity类,也就是所说的SharePoint实体类,用来映射到SharePoint对应的文档库、列表等等。手动创建实体类,是一件很痛苦的事情,复杂且易错,幸好有SPMetal工具来自动生成。当然,这个工具也有一些限制,如自定义字段不会生成对应实体,文档库附件不会生成。如果有这样的需求,那只能使用扩展对象关系映射,这一点上本人也涉猎较浅,就不做赘述,还是直接使用微软提供的工具吧。接下来是SPMetal的使用方法:

1、使用默认代码生成规则

如果没有特殊要求,默认规则就可以满足程序的要求。

步骤一、打开命令行CMD

步骤二、cd(空格)%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\15(SharePoint 2010则替换为12)\BIN

步骤三、运行命令:

SPMetal /web:http://yoursite /code:类名.cs /language:csharp回车
Warning:All content type for list 列名 were excluded.
SPMetal /web:http://我们的SharePoint站点:端口 /code:SiteEntities.cs

注意:/号前空格

还有一些其他的参数,可以设置生成代码的namespace、serializetion,可以参考MSDN文档
下面以此List为对象进行相应的增,删,改操作

1、添加操作

            
                EntitiesDataContext edc = new EntitiesDataContext(SPContext.Current.Web.Url);                
                PersonsItem installitem = new PersonsItem();
                installitem.Title = “张三”;
                edc.Persons.InsertOnSubmit(installitem);
                edc.SubmitChanges();

2、修改操作

          
          

EntitiesDataContext edc=new EntitiesDataContext(SPContext.Current.Web.Url);
              var mypersons = edc.Persons;//列名
              var updateitem = (from item in mypersons
                                where item.Title == "张三"
                                select item).First();
              updateitem.Title = "李四";
              edc.SubmitChanges();

3、删除操作

            
              EntitiesDataContext edc=new EntitiesDataContext(SPContext.Current.Web.Url);
              var mypersons = edc.Persons;//列名
              var deleteitem = (from item in mypersons
                                where item.Title == "张三"
                                select item).First();
              updateitem.Title = "李四";
              edc.SubmitChanges();

// Deleting the list item           

              mypersons.DeleteOnSubmit(delItem);

// Submit the changes            
            edc.SubmitChanges();   

Linq to sharepoint的更多相关文章

  1. Using LINQ to SharePoint

    LINQ and LINQ Providers   LINQ is a feature of the programming languages C# and Microsoft Visual Bas ...

  2. Linq to SharePoint与权限提升(转)

    转自http://www.cnblogs.com/kaneboy/archive/2012/01/25/2437086.html SharePoint 2010支持Linq to SharePoint ...

  3. XML To Linq 读取Sharepoint列表中的附件列信息

    通过页面查看,列表附件信息列的内容如下: var x = @"<div class='ExternalClass9936DCD1F074427B891D09CFCEFC2AB6'> ...

  4. SharePoint 服务器端对象模型 之 使用LINQ进行数据访问操作(Part 2)

    (四)使用LINQ进行列表查询 在生成实体类之后,就可以利用LINQ的强大查询能力进行SharePoint列表数据的查询了.在传统SharePoint对象模型编程中,需要首先获取网站对象,再进行其他操 ...

  5. SharePoint服务器端对象模型 之 使用LINQ进行数据访问操作(Part 4)

    (六)高效合理的使用LINQ 1.DataContext中的两个属性 为了能够使用DataContext进行数据提交,在DataContext进行数据查询和操作的过程中,内部会进行数据状态的保持和追踪 ...

  6. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  7. 《SharePoint 2013 应用开发实战》目录

    博客地址:http://blog.csdn.net/FoxDave 第 1 章  1 ◄SharePoint概述►        1 1.1  SharePoint的发展历程 1 1.1.1  Sha ...

  8. [.net 面向对象编程基础] (20) LINQ使用

    [.net 面向对象编程基础] (20)  LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integr ...

  9. SharePoint—用REST方式访问列表

    REST的定义与作用 在SharePoint 2010中,基本上有如下几种数据访问方式: 服务器端对象模型 LINQ to SharePoint Web Service 客户端对象模型 ADO.NET ...

随机推荐

  1. 又是一个愚蠢的错误,皆因.xml而起

       论java中的.xml到底有多坑?! 感觉自己都快哭了,再一次被.xml给坑了一下,这次坑的太狠了,一下子导致自己浪费了昨天一下午,一晚上,今天一上午和半个下午呀,中间的过程真的是乏善可陈呀,各 ...

  2. dubbox系列【二】——dubbox admin环境搭建

    1.环境 JDK7+ zookeeper 3.3.6 tomcat 7+ 2.搭建步骤 (1)安装zookeeper 单机模式:参考这里. 伪集群模式:参考这里. ①单机或伪集群模式均可. ②笔者使用 ...

  3. 1.10 tuple 元组

    元组(tuple)属于不可变序列 tuple特性: 特性一:可包含任意对象的有序集合 特性二:通过下标索引访问元素 特性三:固定长度,异质,可任意嵌套 特性四:不支持原位改变 特性五:存储机制:对象引 ...

  4. 使用SpringSecurity保护你的Eureka.

    因为注册中心基本上都是自己的应用在使用,应用不是特别多,可以写死,如果应用很多,那么就写入数据库把 pom <dependency> <groupId>org.springfr ...

  5. 使用line_profiler查看api接口函数每行代码执行时间

    项目情景描述: 在restful架构风格的项目交付测试的过程中,某接口出现 请求超时导致的http 502 Bad Gateway,于是开始排查具体是接口函数中的哪行代码或函数 响应时间过长导致的50 ...

  6. swift 学习之自动引用计数

    swift 学习之自动引用计数 学习和研究的主要是"实例对象和实例对象直接的相会强引用所产生的内从泄漏"和"使用闭包产生的强引用造成的内存泄漏" 注意:只有以引 ...

  7. (1)常见O(n^2)排序算法解析

    一.选择排序 1.原始数组 2.遍历数组找到最小值索引,并将最小值索引与当前遍历索引位置互换 3.确定最小位置值,进行下一次遍历 4.java代码实现 /** * author:sam * date: ...

  8. 实战DeviceIoControl 之四:获取硬盘的详细信息

    Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...

  9. 航空客户价值分析特色LRFMC模型——RFM升级

    本文转载自微信公众号TIpDM. 每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 我们说RFM ...

  10. R语言数据集合并、数据增减、不等长合并

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 数据选取与简单操作: which 返回一个向量 ...