示例#1
0
        public async Task <T> GetByIdentifierAsync <T>(string identifier) where T : Entity
        {
            var bucketName = _compassEnvironment.GetCouchbaseBucketName();
            var query      =
                $@"SELECT {bucketName}.* FROM `{bucketName}`
                AND identifier = '{identifier}'
                AND docType = '{nameof(T)}'";

            var queryResult = await _couchbaseClient.QueryAsync <T>(query);

            return(queryResult.SingleOrDefault());
        }
        public CouchbaseFactory(ICompassEnvironment compassEnvironment)
        {
            _compassEnvironment = compassEnvironment;

            _cluster = new Cluster(new ClientConfiguration
            {
                Servers = new List <Uri> {
                    _compassEnvironment.GetCouchbaseUri()
                }
            });

            _bucket = _cluster.OpenBucket(_compassEnvironment.GetCouchbaseBucketName());
        }