アイテムが共有ドキュメントライブラリに存在するかどうかを確認するコードを作成しています。sp金属を使用してエンティティクラスを生成しました。コードは次のとおりです。指定されたキャストはsharepoint.linq.dllで無効です
public bool? checkRSA(string pin)
{
bool ?checkIfRsaExists = null;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
string siteURL = "http://dms.nlpcpfa.com/sites/DirOperations/CustomerCare";
CustomercareDataContext CustCareDB = new CustomercareDataContext(siteURL);
checkIfRsaExists = CustCareDB.GetList<BenefitsCT>("RSAs Library").ScopeToFolder("", true).Any(x => x.RSAPIN == pin);
});
return checkIfRsaExists;
}
このコードを実行するたびに、エラーがスローされます。指定されたキャストは無効です。
スタックトレースは以下の通りです:
StackTrace at Set__permi(Object , Object)\r\n at Microsoft.SharePoint.Linq.SPItemMappingInfo.MaterializeEntity[TEntity](DataContext dc, SPDataList list, SPListItem item, SPItemMappingInfo itemMappingInfo, JoinPath joinPath)\r\n at lambda_method(Closure , SPListItem)\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()\r\n at System.Linq.Enumerable.Any[TSource](IEnumerable
1 source, Func`2 predicate)\r\n at Microsoft.SharePoint.Linq.SPLinqProvider.Execute[T](Expression expression)\r\n at linkApprovals.WebService1.<>c__DisplayClass2_0.b__0() in c:\users\sp_admin\documents\visual studio 2015\Projects\linkApprovals\linkApprovals\WebService1.asmx.cs:line 75\r\n at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)" string