В дополнение к Фредерику Хамиди отличный ответ.
Скорее всего, это то, что вы ищете http://www.bendsoft.com/net-sharepoint-connector/. Он подключается через API-интерфейс SharePoint, поэтому вы можете использовать его как для внутренней, так и для внешней разработки SharePoint. Прежде всего вам не нужно изучать CAML и использовать вместо этого SQL.
Пример
Вставить некоторые данные
public void SharePointConnectionExample1()
{
using (SharePointConnection connection = new SharePointConnection(@"
Server=mysharepointserver.com;
Database=mysite/subsite
User=spuser;
Password=******;
Authentication=Ntlm;
TimeOut=10;
StrictMode=True;
RecursiveMode=RecursiveAll;
DefaultLimit=1000;
CacheTimeout=5"))
{
connection.Open();
using (SharePointCommand command = new SharePointCommand("UPDATE `mytable` SET `mycolumn` = 'hello world'", connection))
{
command.ExecuteNonQuery();
}
}
}
Или для выбора данных списка в DataTable
string query = "SELECT * FROM list";
conn = new SharePointConnection(connectionString);
SharePointDataAdapter adapter = new SharePointDataAdapter(query, conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
Или с помощью вспомогательного метода для заполнения DataGrid
string query = "Select * from mylist.viewname";
DataGrid dataGrid = new DataGrid();
dataGrid.DataSource = Camelot.SharePointConnector.Data.Helper.ExecuteDataTable(query, connectionString);
dataGrid.DataBind();
Controls.Add(dataGrid);
Поверьте мне на слово, это превращает разработку SharePoint в удовольствие!
Приветствия