"메모"테이블이 있습니다. Notes는 한 수준의 스레딩을 지원합니다. 즉, 메모에 회신 할 수는 있지만 다른 회신에 회신 할 수는 없습니다. 그래서 테이블이 같이 보입니다 다음아음속 쿼리 구성 포함 (Guid)
CREATE TABLE [dbo].[Notes] (
[NoteId] [uniqueidentifier] ROWGUIDCOL NOT NULL DEFAULT (newid())
CONSTRAINT [PK__Notes]
PRIMARY KEY ([NoteId]),
[ParentNoteId] UNIQUEIDENTIFIER NULL,
[NoteText] NVARCHAR(MAX) NOT NULL,
[NoteDate] DATETIME NOT NULL
)
을 그래서 모든 "부모"노트 얻을 음속 활동 기록을 사용하고 다음에 IQueryable을 통해
var allNotes = (from n in Note.All()
where n.ParentNoteId == null
orderby n.NoteDate descending
select n)
.Skip((pageIndex - 1) * pageSize).Take(pageSize);
다음 그냥 루프와 일반 채우기 메모의 GUID의 목록 : 마지막으로
List<Guid> noteList = new List<Guid>();
foreach (var note in allNotes)
{
noteList.Add(note.NoteId);
}
, 나는 원래 쿼리에서 노트에 모든 응답을 얻기 위해 쿼리를 생성하는 것을 시도하고있다 :
replies = from n in Note.All()
where n.ParentNoteId != null && noteList.Contains(n.ParentNoteId.Value)
select n
내가받는 오류는 다음과 같습니다. ''포함 '방법이 지원되지 않습니다.'어떤 아이디어입니까?
편집 :
List<String> noteList = new List<String>();
foreach (var note in allNotes)
{
noteList.Add(note.NoteId.ToString());
}
replies = (from n in Note.All()
where n.ParentNoteId != null &&
noteList.Contains(n.ParentNoteId.Value.ToString()) select n);
같은 오류 메시지가 이전 : 나는 다음과 같은 문자열로 변환했습니다.
IEnumerable이 효과가있다. 도와 주셔서 감사합니다. – sestocker