Cassandra.Data.Linq
네임 스페이스에있는 일괄 처리 클래스를 사용하고 있습니다. BatchStatement
아닙니다. Batch 클래스에는 batchType
(Counter, Logged, Unlogged) 필드가 있습니다. 그러나 Unlogged
으로 설정할 수있는 방법이 없습니다. 호프 나는 그것을 단지 바라보고있다.Datastax Cassandra CSharp LINQ 일괄 처리를 사용할 때 기록되지 않은 일괄 처리를 만드는 방법이 있습니까?
답변
현재 (2.5.2) batchType
을 Unlogged
으로 설정할 방법이 없습니다.
_batchType
은 보호 된 필드이며 추상 Batch
클래스를 확장하는 클래스는 필드를 설정할 수있는 메서드 나 속성을 노출하지 않습니다.
https://github.com/datastax/csharp-driver/blob/master/src/Cassandra/Data/Linq/BatchV1.cs
https://github.com/datastax/csharp-driver/blob/master/src/Cassandra/Data/Linq/BatchV2.cs
나는 단지 같은 질문을 했으므로 현재 버전 (2.5)에는 SetBatchType이 있습니다. 흥미롭게도이 방법은 BatchType에 Set 및 Get 접근자를 사용하는 것과는 별개의 방법입니다. 따라서 내 코드는 다시 말씀 드리지만 배치는 일반적으로 SetRoutingKey 또는 SetRoutingValues (복합 파티션 키)를 호출 의미 가능성이 좋습니다 단일 노드로 이동해야하는 문서를 통해 흩어져 warning이
BatchStatement bs = new BatchStatement();
bs.SetBatchType(BatchType.Unlogged);
입니다.
흠, 다음 몇일 동안 기회가있을 때 최신 비트를 확인하고 Cassandra.Data.Linq.Batch 클래스에 추가 된 것이 있는지 확인합니다. 내 질문에 나는 카산드라에 관심이 있다고 언급했음을 주목하라. 데이터 .Linq.Batch and NOT Cassandra.BatchStatement –
아, 네가 그랬어. 이것이 같은 문제라는 것이 얼마나 낙관적 이었는지 보여주십시오. Cassandara처럼 보이지 않습니다. Data.Linq에는 batchType에 대한 공개 필드가 있습니까? – cacsar
는 C# 드라이버의 버전은 무엇? –
@AlexPopescu 2.0.0 beta 2, 곧 2.0.2로 업그레이드하십시오. (누 그트 버전 번호) –