Как преобразовать результат FullTextSqlQuery в SPListItem? - PullRequest
0 голосов
/ 25 января 2011

Я думаю, что следующий код будет работать, но каждый раз, когда я смотрю на file.Item;, он нулевойДолжен ли я делать что-то другое?

Microsoft.Office.Server.Search.Query.FullTextSqlQuery query = new Microsoft.Office.Server.Search.Query.FullTextSqlQuery(siteCollection);
query.QueryText = "SELECT Title, Path, Description, Write, Rank, Size from scope() where \"scope\" = 'SocialNetworking'";
query.ResultTypes = Microsoft.Office.Server.Search.Query.ResultType.RelevantResults;
//query.RowLimit = Int32.MaxValue;
query.TrimDuplicates = true;
query.EnableStemming = false;
query.IgnoreAllNoiseQuery = true;
query.KeywordInclusion = Microsoft.Office.Server.Search.Query.KeywordInclusion.AllKeywords;
query.Timeout = 0x2710;
query.HighlightedSentenceCount = 3;
query.SiteContext = new Uri(siteCollection.Url);
query.AuthenticationType = Microsoft.Office.Server.Search.Query.QueryAuthenticationType.NtAuthenticatedQuery;
Microsoft.Office.Server.Search.Query.ResultTableCollection queryResults = query.Execute();
Microsoft.Office.Server.Search.Query.ResultTable queryResultsTable = queryResults[Microsoft.Office.Server.Search.Query.ResultType.RelevantResults];
DataTable queryDataTable = new DataTable();
queryDataTable.Load(queryResultsTable, LoadOption.OverwriteChanges);
foreach (DataRow dr in queryDataTable.Rows)
{
    //if (dr["ContentType"].ToString() == "Item")
    //{
        using (SPSite lookupSite = new SPSite(dr["Path"].ToString()))
        {
            using (SPWeb web = lookupSite.OpenWeb())
            {
                SPFile file = web.GetFile(dr["Path"].ToString());
                SPListItem li = file.Item;
            }
        }
    //}

}

1 Ответ

1 голос
/ 26 января 2011

Если вы знаете, что это предмет, попробуйте SPWeb.GetListItem

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spweb.getlistitem.aspx

Файл также может не существовать, проверьте SPFile.Exists перед использованием любого из свойств SPFile

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile.exists.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...