날짜 범위 내에서 결과를 제한하려고했습니다. CSOM을 사용하여 SharePoint에 연결 중입니다. 제가 생각하는 SharePoint 버전은 SharePoint Online입니다 (우리는 사무실 365를 가지고 있습니다).Linq 쿼리에 대한 필드 값 가져 오기 - SharePoint
기본적으로 아래 쿼리에서 반환되는 날짜를 제한하고 싶습니다. 내가 원한다면 Start_Date < = 오늘 및 End_Date> = 오늘. 그 이상 나는 linq을 사용하여 필드의 값을 반환하는 방법을 잘 이해하지 못하고있다. 제대로 작동하는
.Where(x => x.Id <= 50)
:
나는이 추가되었습니다. 이것은 Intellisense와 함께Id
속성을 찾을 수 있기 때문에 쉽습니다. 그러나 관심있는 필드를 추출하는 방법을 찾을 수 없으며, linq를 사용하여 추가 Where로 내 결과를 제한하는 방법을 찾을 수 없습니다.
지금 나는 그대로 내 코드를 실행하려고 다음과 같은 오류가 발생합니다 :
The 'ToDateTime' member cannot be used in the expression.
관련 코드 :
private ListItemCollection GetSharePointList(string XML, string tableName, ClientContext context, byte limit = 50)
{
List testTable = context.Web.Lists.GetByTitle(tableName);
CamlQuery camlQuery = new CamlQuery
{
ViewXml = XML //The Passed in XML is: "<view></view>"
};
ListItemCollection GetSharePointList = testTable.GetItems(camlQuery);
DateTime today = DateTime.Today;
context.Load(GetSharePointList,
items => items.Take(limit).Include(
item => item.Id,
item => item["DayOfMonth"],
item => item["Start_Date"],
item => item["End_Date"],
item => item["Task_FrequencyID_x003a_Frequency"],
item => item["TaskID_x003a_TaskName"],
item => item["TaskID_x003a_TaskAlias"],
item => item["TaskID_x003a_TaskDueTime"],
item => item["Daily_Frequency_x003a_DayofWeek"],
item => item["Weekly_Frequency_x003a_Week"],
item => item["End_Date"],
item => item["Monthly_Frequency"])
.Where(x => x.Id <= 50)
.Where(y => Convert.ToDateTime(y.FieldValues["Start_Date"]) <= today));
context.ExecuteQuery();
return GetSharePointList;
}
ALL 기타 사항 서보 -OFF (X => x.Field ("START_DATE")) –
jdweng
같은 뭔가해야 @ 고마워. "ListItem에 'Field'...에 대한 정의가 없습니다. –
필드는 오타가 될 수있는 개체입니다. 따라서 유형을 모른 채 대답을 드릴 수는 없습니다. 항목은 이미 DateTime 일 수 있으므로 변환 할 필요가 없습니다. – jdweng