In SharePoint 2010 we can use LINQ
syntax to query the list instead of using CAML query. In order to work with LINQ
we need a command line tool called SPMetal.exe.
This tool is used to generate the entity classes that is required to perform object oriented queries towards SharePoint server. It is also required to get the intellisense when we are working in Visual Studio 2010.This tool resides in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN folder.
Creating the entity classes:
This tool is used to generate the entity classes that is required to perform object oriented queries towards SharePoint server. It is also required to get the intellisense when we are working in Visual Studio 2010.This tool resides in C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN folder.
Creating the entity classes:
- Open Command Prompt as an administrator.
- Change the path to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN.
-
Run the following command to generate the entity classes.
SPMetal.exe /web:http://sharepointsiteaddress /code:d:\YourEntityFile.cs
- Open Visual Studio 2010.
- Go to File à New à Project.
- Select Console Application from the installed templates.
- Right click on the solution, select "Add an existing item".
- Add the MyEntities.cs class to the solution.
·
Add References by right click on the
Reference option:
·
Choose
Browse:
·
Go to the following location:
C:\Program Files\Common Files\Microsoft
Shared\Web Server Extensions\14\ISAPI.
·
Add Microsoft.SharePoint.dll and
Microsoft.SharePoint.Linq.dll in
Reference.
I have a following Products list in the SharePoint Server.
Add the following code in Program.cs file to perform DML
operation in SharePoint list:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Linq;
namespace DMLLinqinSP
{
class Program
{
private void
Insert()
{
MyEntitiesDataContext
myEntitiesDataContext = new
MyEntitiesDataContext("http://rohit:34143/");
MyEntitiesDataContext("http://rohit:34143/");
// Get the list from the site
EntityList<ProductsItem> listItems =
myEntitiesDataContext.GetList<ProductsItem>("Products");
myEntitiesDataContext.GetList<ProductsItem>("Products");
//Create a new item
ProductsItem newItem =
new ProductsItem()
{
Title = "Hardware",
ProductID = "5",
ProductName = "RAM"
};
// Insert the new list item to the list
listItems.InsertOnSubmit(newItem);
//Submit the changes
myEntitiesDataContext.SubmitChanges();
Console.WriteLine("Item Inserted");
}
private void
Update()
{
MyEntitiesDataContext
myEntitiesDataContext = new
MyEntitiesDataContext("http://rohit:34143/");
MyEntitiesDataContext("http://rohit:34143/");
// Querying the list item that has to be
updated
var updateItem = (from item in myEntitiesDataContext.Products where
item.ProductID == "1" select item).First();
item.ProductID == "1" select item).First();
updateItem.ProductID = "6";
updateItem.ProductName = "MotherBoard";
// Submit the changes
myEntitiesDataContext.SubmitChanges();
Console.WriteLine("Item Updated");
}
private void
Delete()
{
// Create an instance
MyEntitiesDataContext
myEntitiesDataContext = new
MyEntitiesDataContext("http://rohit:34143/");
MyEntitiesDataContext("http://rohit:34143/");
// Get the list from the site
EntityList<ProductsItem> listItems =
myEntitiesDataContext.GetList<ProductsItem>("Products");
myEntitiesDataContext.GetList<ProductsItem>("Products");
// Querying the list item that has to be
deleted
var updateItem = (from item in myEntitiesDataContext.Products where
item.ProductID == "6" select item).First();
item.ProductID == "6" select item).First();
// Deleting the list item
listItems.DeleteOnSubmit(updateItem);
// Submit the changes
myEntitiesDataContext.SubmitChanges();
}
static void
Main(string[] args)
{
Program obj =
new Program();
byte ch = 0;
do
{
Console.WriteLine("\t\t\t----Select option----\t\t\t");
Console.WriteLine("\t\t\t----Press (1) For Insert ----\t\t\t");
Console.WriteLine("\t\t\t----Press (2) For Update ----\t\t\t");
Console.WriteLine("\t\t\t----Press (3) For Delete ----\t\t\t");
Console.WriteLine("\t\t\t----Press (0) For Exit ----\t\t\t");
ch = Convert.ToByte(Console.ReadLine());
switch (ch)
{
case 1:
obj.Insert();
break;
case 2:
obj.Update();
break;
case 3:
obj.Delete();
break;
default:
Console.WriteLine("Invalid Option");
break;
}
} while (ch != 0);
}
}
}
After creating an application press F5 to debug your
application:
·
When you Press (1) specified item is
added in the SharePoint list. Simultaneously, you can also check in the
SharePoint list (Products) that one row is added in the list.
·
When you Press (2) Product ID
1 is updated in SharePoint Products
list.
·
When you Press (3) Product ID
6 is deleted from the SharePoint
Products list.
No comments:
Post a Comment