@@ -274,32 +274,25 @@ public override void Execute(IDocumentSession session)
274274
275275public class StoreManyDocs < T > : DocumentsOp where T : notnull
276276{
277- private readonly T [ ] _documents ;
278-
279- public StoreManyDocs ( params T [ ] documents ) : base ( documents . Cast < object > ( ) . ToArray ( ) )
280- {
281- _documents = documents ;
282- }
277+ public StoreManyDocs ( params T [ ] documents ) : base ( documents . Cast < object > ( ) . ToArray ( ) ) { }
283278
284279 public StoreManyDocs ( IList < T > documents ) : this ( documents . ToArray ( ) ) { }
285280
286281 public StoreManyDocs < T > With ( T [ ] documents )
287282 {
288283 Documents . AddRange ( documents . Cast < object > ( ) ) ;
289- _documents . AddRange ( documents ) ;
290284 return this ;
291285 }
292286
293287 public StoreManyDocs < T > With ( T document )
294288 {
295- Documents . Append ( document ) ;
296- _documents . Append ( document ) ;
289+ Documents . Add ( document ) ;
297290 return this ;
298291 }
299292
300293 public override void Execute ( IDocumentSession session )
301294 {
302- session . Store ( _documents ) ;
295+ session . Store ( Documents . Cast < T > ( ) ) ;
303296 }
304297}
305298
@@ -317,7 +310,7 @@ public StoreObjects With(object[] documents)
317310
318311 public StoreObjects With ( object document )
319312 {
320- Documents . Append ( document ) ;
313+ Documents . Add ( document ) ;
321314 return this ;
322315 }
323316
@@ -384,14 +377,21 @@ protected DocumentOp(object document)
384377 public abstract void Execute ( IDocumentSession session ) ;
385378}
386379
387- public abstract class DocumentsOp : IMartenOp
380+ public interface IDocumentsOp : IMartenOp
381+ {
382+ IReadOnlyList < object > Documents { get ; }
383+ }
384+
385+ public abstract class DocumentsOp : IDocumentsOp
388386{
389- public object [ ] Documents { get ; }
387+ public List < object > Documents { get ; } = new ( ) ;
390388
391389 protected DocumentsOp ( params object [ ] documents )
392390 {
393- Documents = documents ;
391+ Documents . AddRange ( documents ) ;
394392 }
395393
396394 public abstract void Execute ( IDocumentSession session ) ;
395+
396+ IReadOnlyList < object > IDocumentsOp . Documents => Documents ;
397397}
0 commit comments