Using Client object model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
using System.Data;
using Microsoft.SharePoint;
namespace ConsoleApplication5 {
class Program {
static void Main(string[] args) {
ClientContext context = new ClientContext("siteName");
// ListName - child List of Lookup column
List list = context.Web.Lists.GetByTitle("ListName");
ListItem item;
context.Load(list);
context.ExecuteQuery();
string strLookupValue = "LookupValue";
if (strLookupValue != "") {
try {
//LookupList - name of parent list from which we taking value
List lookuplist = context.Web.Lists.GetByTitle("LookupList");
item["LookColumnName"] = GetLookFieldIDS(context, strLookupValue, lookuplist);
} catch (Exception e) {
item["LookColumnName"] = "";
Console.WriteLine(e.Message);
Console.ReadLine();
}
} else {
item["LookColumnName"] = "";
}
item.Update();
context.ExecuteQuery();
}
public static SPFieldLookupValueCollection GetLookFieldIDS(ClientContext context, string lookupValues, List lookupSourceList) {
SPFieldLookupValueCollection lookupIds = new SPFieldLookupValueCollection();
string[] lookups = lookupValues.Split(new char[] {
','
},
StringSplitOptions.RemoveEmptyEntries);
foreach(string lookupValue in lookups) {
CamlQuery query = new CamlQuery();
query.ViewXml = string.Format("<View><Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>{0}</Value></Eq></Where></Query></View>", lookupValue);
ListItemCollection listItems = lookupSourceList.GetItems(query);
context.Load(lookupSourceList);
context.Load(listItems);
context.ExecuteQuery();
foreach(ListItem item in listItems) {
SPFieldLookupValue value = new SPFieldLookupValue(Convert.ToInt32(item["ID"]), item["Title"].ToString());
lookupIds.Add(value);
break;
}
}
return lookupIds;
}
}
}Using Server object Model:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
using System.Data;
using Microsoft.SharePoint;
namespace ConsoleApplication5 {
class Program {
static void Main(string[] args) {
SPSite site = new SPSite("SiteName");
SPWeb mySite = site.OpenWeb();
//ListName - child List of Lookup column
SPList list = mySite.Lists["ListName"];
SPItem item;
SPQuery query = new SPQuery();
SPListItemCollection itemcoll;
string strLookupValue = "LookupValue";
if (strLookupValue != "") {
try {
SPSite site1 = new SPSite("SiteName");
SPWeb web1 = site1.OpenWeb();
//LookupList - parent Lokkuplist
SPList list1 = web1.Lists["LookupList"];
query.Query = "<Where><Eq><FieldRef Name='Title' /><Value Type='Text'>" + strLookupValue + "</Value></Eq></Where>";
itemcoll = list1.GetItems(query);
SPFieldLookupValue newValue = new SPFieldLookupValue(Convert.ToInt32(itemcoll[0].ID), strLookupValue);
item["LookupColumnName"] = newValue;
} catch (Exception e) {
item["LookupColumnName"] = "";
}
} else {
item["LookupColumnName"] = "";
}
}
}
}