How to restrict deletions on Lookup field in SharePoint 2010

In this article we will be seeing how to restrict deletions on Lookup field in SharePoint 2010 using C# and power shell.

When you create a lookup column in SharePoint 2010 you can see "Relationship" where you can maintain referential integrity enforcing the relationships defined by lookup columns. Just like foreign key constraints in a relational database, in SharePoint 2010 you can configure restrict delete and cascade delete rules on lookup column relationships:

  • Cascade delete rules: Delete items that reference a record when you delete that record.
  • Restrict delete rules: Will prevent you from deleting a record that is referenced by a lookup column in another list.

Using C#:

  • Open Visual Studio 2010.
  • Create Console Application.
  • Replace the code with the following.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;

namespace RestrictDeletions
    class Program
        static void Main(string[] args)
            using (SPSite site = new SPSite("http://serverName:1111/SitePages/Home.aspx"))
                using (SPWeb web = site.RootWeb)
                    SPList list = web.Lists.TryGetList("ChildList");
                    SPField field=list.Fields["Department"];
                    SPFieldLookup fieldLookup = (SPFieldLookup)field;
                    fieldLookup.Indexed = true;
                    fieldLookup.RelationshipDeleteBehavior = SPRelationshipDeleteBehavior.Cascade;

  • Hit F5.

Using PowerShell:

$site=Get-SPSite $siteURL

Up Next
    Ebook Download
    View all
    View all