public CassandraEntitySet(CassandraComponent Comp, string KeySpaceName)
 {
     _Comp = Comp;
     _Comp.Session.Execute(typeof(T).GenerateCreateQuery(KeySpaceName));
     _TableName    = typeof(T).Name;
     _KeySpaceName = KeySpaceName;
 }
        public CassandraContext(CassandraSettings settings)
        {
            _Settings = settings;
            _Settings.KeySpaceName = settings.KeySpaceName.ToLower();
            _CassandraComponent    = new CassandraComponent();
            var Options = new SSLOptions(SslProtocols.Tls12, true, ValidateServerCertificate);

            Options.SetHostNameResolver((ipAddress) => _Settings.CassandraContactPoint);

            _CassandraComponent.Cluster = Cluster.Builder()
                                          .WithCredentials(_Settings.UserName, _Settings.Password)
                                          .WithPort(_Settings.CassandraPort)
                                          .AddContactPoint(_Settings.CassandraContactPoint)
                                          .WithSSL(Options)
                                          .Build();
            _CassandraComponent.Session = _CassandraComponent.Cluster.Connect();
            _CassandraComponent.Session.Execute("CREATE KEYSPACE IF NOT EXISTS " + _Settings.KeySpaceName.ToLower() + " WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };");
            _CassandraComponent.Session = _CassandraComponent.Cluster.Connect(_Settings.KeySpaceName.ToLower());
            _CassandraComponent.Mapper  = new Mapper(_CassandraComponent.Session);
            this.SetupEntites();
        }