Linq to sharepoint

一、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();

时间: 2024-07-29 14:03:09

Linq to sharepoint的相关文章

Using LINQ to SharePoint

LINQ and LINQ Providers LINQ is a feature of the programming languages C# and Microsoft Visual Basic .NET. Compilers are included with Visual Studio. LINQ adds a SQL-like syntax and vocabulary to each of the languages, which can be used to query data

【Linq to SharePoint】对列表查询的分页技术制作新联列表分页

[Linq to SharePoint]对列表查询的分页技术 1. 下面是用AspNetPage来分页的,主要在网站在有一个列表名称为新闻列表,BindGridView是一个分页的函数. 下面的主要是对一个列表的查询进行的分页. 后台代码 EntityList<新闻列表项目> newsList; public const int PageSize = 10; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsP

在SharePoint中使用LINQ

在SharePoint中使用LINQ LINQ是一种有效且高效的查询数据的方法.使用SPMetal你可以为LINQ准备SharePoint列表.下面讲解如何准备你的列表,并创建使用LINQ的应用程序. 1. 打开命令行(管理员身份运行). 2. 导航到c:\Program Files\Common Files\Microsoft Shared\web server extensions\14\bin,并输入下面命令(确保用你自己的服务器名代替) spmetal.exe /web:http://<

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

(四)使用LINQ进行列表查询 在生成实体类之后,就可以利用LINQ的强大查询能力进行SharePoint列表数据的查询了.在传统SharePoint对象模型编程中,需要首先获取网站对象,再进行其他操作:使用LINQ也是类似,对数据的访问和操作都要先获取DataContext网站,之后再通过这个DataContext进行数据访问. 1.获取网站和列表 DataContext的创建同样也是要使用绝对路径进行构造,并使用GetList方法获取相应的列表.例如下面的代码获取Chapters列表中所有的

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

(五)使用LINQ进行数据更新 LINQ to SharePoint的优势不仅在于可以方便快捷地进行SharePoint列表数据查询,SPMetal所生成的数据实体类实际上是一个支持双向同步的模型,也就是意味着通过DataContext我们还可以将数据的变动提交到SharePoint列表中. 通过DataContext进行数据提交主要分成三个阶段:(1)确保DataContext支持数据提交,即其中的ObjectTrackingEnabled属性为true(默认值):(2)修改数据实体的内容:(

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

[.net 面向对象编程基础] (20)  LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integrated Query(语言集成查询)的简称,它是集成在.NET编程语言中的一种特性. 1.LINQ的构架 从这幅图中,我们可以知道LINQ包括五个部分:LINQ to Objects.LINQ to XML.LINQ to SQL.LINQ to DataSet.LINQ to Entities.

SharePoint快速入门(2)之WebPart

本节学习目标:用Linq读取Sharepoint List数据,并通过SPGridView展示数据 生成 Linq to sharepoint代理类  通过命令行定位到“c:\program files\common files\microsoft shared\web server extensions\14\bin” 输入以下代码生成代理类 spmetal.exe /web:http://intranet.contoso.com /namespace:Jonny.VisualWebPart1

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

示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集成查询).通过LINQ,我们可以使用相同API操作不同的数据源.接下来就让我们看看LINQ是什么以及如何使用? 再此之前,需要先了解的相关技术 1. 隐式类型.匿名类型.对象初始化器 1) 隐式类型,使用var关键字创建,C#编译器会根据用于初始化局部变量的初始值推断出变量的数据类型.(不过我个人认

SharePoint的实体生成

生成Linq实体 使用SPMetal工具生成Linq to SharePoint实体 工具安装目录: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN\SPMETAL.exe 命令参数: cmd: cdC:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN 生成 C# 代码: //10.250.201