A fluent .NET client for the Cassandra distributed database.
C# Other
Latest commit ed23a14 Aug 8, 2014 @Aaronontheweb Aaronontheweb Merge pull request #154 from Aaronontheweb/master
Version v1.2.6 - updated Thrift bindings and some minor bug fixes
Permalink
Failed to load latest commit information.
.nuget
buildscripts cleanly separated symbol builds Nov 27, 2013
lib added the new types introduced in Cassandra 1.0.0 Jan 29, 2012
nuget upgraded to nuget 1.3 to pushlish symbols Apr 26, 2011
src
test added null checks for TimeUUID and LexicalUUID Aug 7, 2014
utility/FluentCassandra.LinqPad now using Context.ConnectionBuilder when creating the CassandraSessio… Aug 17, 2012
.gitattributes added .gitattributes May 8, 2012
.gitignore adding initial rakefile and some of the supporting ruby files Nov 27, 2013
FluentCassandra.msbuild updated commandline instructions for nuget Jun 22, 2011
FluentCassandra.sln Added a project for integration tests Jul 23, 2013
FluentCassandra_All.sln Added a project for integration tests Jul 23, 2013
Gemfile adding initial rakefile and some of the supporting ruby files Nov 27, 2013
LICENSE.txt adding Apache 2.0 license (same as Cassandra) to the project Oct 26, 2010
README.md updated README with build instructions Nov 27, 2013
Rakefile.rb cleanly separated symbol builds Nov 27, 2013
SharedAssemblyInfo.cs added null checks for TimeUUID and LexicalUUID Aug 7, 2014
VERSION added null checks for TimeUUID and LexicalUUID Aug 7, 2014

README.md

FluentCassandra

FluentCassandra is a .NET library for accessing Apache Cassandra. It fully impliments all commands that can be issued against the Apache Cassandra interface and supports .NET 4.0 dynamic keyword as well as a LINQ like expressions for querying the database. The goal of this project is to keep the interface in sync with the latest version of Cassandra and make it as easy as possible for .NET developers to start, adopt and program against the Cassandra database.

Getting Help

You can get help with FluentCassandra by asking questions or starting a discussion on our group. https://groups.google.com/d/forum/fluentcassandra

Installing Cassandra

Taken from the "Cassandra Jump Start For Windows" by Nick Berardi:

  1. Download Cassandra from http://cassandra.apache.org/
  2. Extract Cassandra to a directory of your choice (I used c:\development\cassandra)
  3. Set the following environment variables

    JAVA_HOME (To the directory where you install the JRE, this should not be the bin directory)
    CASSANDRA_HOME (To the directory you extracted the files to in step 1)
    

    Please note that you are going to want to be running Java JRE 6 for running Cassandra.

  4. Modify your Cassandra config file as you like and don't forget to update the directory locations from a UNIX like path to something on your windows directory (in my example the config file is located at c:\development\cassandra\conf\storage-conf.xml)

  5. Open cmd and run the cassandra.bat file (in my example the batch file is located at c:\development\cassandra\bin\cassandra.bat)

    cd c:\development\cassandra\bin\
    .\cassandra.bat
    
  6. You can verify that Cassandra is running, by trying to connect to the server. To do this open a new cmd and run the cassandra-cli.bat file from the bin directory.

    cd c:\development\cassandra\bin\
    .\cassandra-cli.bat
    connect localhost/9160
    

Your First Fluent Cassandra Application

There was an indepth 2 part series of blog posts made on the subject of creating your first Fluent Cassandra application.

  1. Your First Fluent Cassandra Application
  2. Your First Fluent Cassandra Application (part 2)

Building FluentCassandra

If you need to build FluentCassandra locally, know that FluentCassandra uses Albacore - a Ruby-based build system for Windows.

To build FluentCassandra, install Ruby onto your machine and then open a new command prompt to your local FluentCassandra directory and execute the following command:

$: rake

And that's it! The build will automatically run for you. You can also execute rake -T to see a list of additional commands.