Streaming Data from Database with C# with Example



Streaming Data from Database with C# with Example

Observable 
Assume having a method returning IEnumerable, f.e. 
private IEnumerable GetData() 
{ 
try 
{ 
// return results from database 
} 
catch(Exception exception) 
{ 
throw; 
} 
} 
Creates an Observable and starts a method asynchronously. SelectMany flattens the collection and the subscription 
is fired every 200 elements through Buffer. 
int bufferSize = 200; 
Observable 
.Start(() => GetData()) 
.SelectMany(s => s) 
.Buffer(bufferSize) 
.ObserveOn(SynchronizationContext.Current) 
.Subscribe(items => 
{ 
Console.WriteLine("Loaded {0} elements", items.Count); 
// do something on the UI like incrementing a ProgressBar 
}, 
() => Console.WriteLine("Completed loading")); 
 

0 Comment's

Comment Form

Submit Comment