C# 如何将FullTextSqlQuery结果转换为SPListItem?

C# 如何将FullTextSqlQuery结果转换为SPListItem?,c#,sharepoint-2010,C#,Sharepoint 2010,我认为下面的代码可以工作,但每次我查看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, Siz

我认为下面的代码可以工作,但每次我查看
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;
            }
        }
    //}

}

如果您知道它是一个项目,请尝试SPWeb.GetListItem

该文件也可能不存在,请在使用SPFile的任何属性之前检查SPFile.Exists