Tuesday, January 31, 2017
.NET Standard Adoption as of January 2017
Updated 2/16 to include Elasticsearch
As should be obviously from my recently blog posts, I have really been enjoying working with .NET Core. Clearly I am not alone, as a significant number of libraries have been porting over to the .NET Standard.
Below is a list libraries that have added support for the .NET Standard, meaning that they should be able to run cross platform on both Windows and Linux.
While I have not yet had the opportunity to try all of the libraries listed below, I have had great luck with the ones that I have tested, and I am simply ecstatic to see this list growing as fast as it is.
Technology | NuGet Package | .NET Standard Support |
---|---|---|
Autofac | Autofac | Released for 1.1 |
Cassandra | DataStax C# Driver for Apache Cassandra | Released for 1.5 |
Couchbase | Couchbase SDK 2.0 | Beta for 1.5 |
Elasticsearch | Elasticsearch.Net | Released for 1.3 |
Kafka | Confluent.Kafka | Preview for 1.3 |
log4net | Apache log4net | Released for 1.3 |
MongoDB | MongoDB.Driver | Released for 1.4 |
NLog | NLog | Beta for 1.3 |
RabbitMQ | RabbitMQ.Client | Released for 1.5 |
RavenDB | RavenDB Client | Released for 1.3 |
Redis | StackExchange.Redis | Released for 1.5 |
Sqlite | Microsoft.EntityFrameworkCore.Sqlite | Released for 1.3 |
WebSocket Client | WebSocket4Net | Released for 1.3 |
How have these libraries been working out for you? Is there a better option than what I have listed? Please leave a comment and let me know!
Enjoy,
Tom
Thursday, April 30, 2015
Persistent Cache Repository using SQLite
A while back I blogged about an ICacheRepository. I still really like that concept, although admittedly there a few updates that I should make to the implementation.
The basic implementation that I shared before was for an in memory cache. There are plenty of document databases that I would recommend for you to use as a persistent cache mechanism, and they would also have the added benefit of being distributed across services.
What do you do if you need a persistent cache, but you don't have any of those document databases available? Just use files! By which I mean SQLite.
Would this stand up under load? Probably not.
Would I recommend that production systems use this? No.
Is it super simple to setup? Yes, yes it is!
Enjoy,
Tom
Wednesday, December 24, 2014
How to use Entity Framework and SQLite
SQLite is the definition of a lightweight database. Using SQLite you can run an entire database with only a 304 KB executable and a database file. It's fast, stable, and very easy to use. Entity Framework is Microsoft's official ORM, and it has support for SQLite!
SQLite Tools
To run SQLite you need only to download the precompiled SQLite binaries for windows:
You can easily manipulate the database via command line. However, if you would prefer to use a GUI, there is a wonderful Firefox plugin for managing your SQLite databases.
Entity Framework Setup
To get stated using Entity Framework you will need to add two NuGet packages to your solution:
After that you will need to make sure that your app.config file has properly registered the both a System.Data.SQLite provider and provider factory.