示例#1
0
        public void SharedSetting()
        {
            // you can setup a database-setting with DatabaseSharedSetting object and use it
            // everytime you create a ArangoDatabase object

            var sharedSetting = new DatabaseSharedSetting();

            // set database name
            // default: null
            sharedSetting.Database = "ExampleDB";

            // set ArangoDB server endpoint
            // default: "http://localhost:8529"
            sharedSetting.Url = "http://localhost:8529";

            // credential for database, you dont need it if authentication is disabled
            // default: new NetworkCredential("root", "")
            sharedSetting.Credential = new NetworkCredential("user", "123456");

            // credential for _system database, for operations that can only be used through
            // _system database like creation or droping database
            // you dont need it if authentication is disabled
            // default: new NetworkCredential("root", "")
            sharedSetting.SystemDatabaseCredential = new NetworkCredential("system_user", "123456");

            // set default WaitForSync for all operations
            // default: false
            sharedSetting.WaitForSync = true;

            // if set to false, invalid operations won't cause an exception and you can
            // proccess the response yourself
            // default: true
            sharedSetting.ThrowForServerErrors = false;

            // if set to false, collections won't be created when inserting documents
            // default: true
            sharedSetting.CreateCollectionOnTheFly = false;

            // set default BatchSize for cursor all operations
            // default: null
            sharedSetting.Cursor.BatchSize = 1024;

            // set default Count for cursor all operations
            // default: null
            sharedSetting.Cursor.Count = true;

            // set default MaxPlans for cursor all operations
            // default: null
            sharedSetting.Cursor.MaxPlans = 10;

            // add default rule for cursor all operations
            // default: empty list
            sharedSetting.Cursor.Rules.Add("rule-name");

            // enums can convert to strings
            sharedSetting.Serialization.SerializeEnumAsInteger = false;

            // add custom converters for serialization
            sharedSetting.Serialization.Converters.Add(new StringEnumConverter());
        }
示例#2
0
        public ArangoDbFactory(DatabaseSharedSetting settings)
        {
            _settings = settings;

            // https://github.com/ra0o0f/arangoclient.net/issues/125
            // we need to handle errors and ArangoServerException does not allow us to do that
            // so we opt not to throw exceptions and handle the results by ourselves
            _settings.ThrowForServerErrors = false;
        }
示例#3
0
        public DatabaseManager()
        {
            DatabaseSharedSetting setting = new DatabaseSharedSetting();

            setting.Credential.Password = "******";
            setting.Credential.UserName = "******";
            setting.Database            = "test";
            setting.Url = "http://95.213.191.243:8529";
            Database    = new ArangoDatabase(setting);
        }
        private async Task Probe(IContainer container)
        {
            var settings = new DatabaseSharedSetting
            {
                Url        = GetArangoUrl(),
                Database   = DatabaseName,
                Credential = new NetworkCredential(Username, Password)
            };

            using (var db = new ArangoDatabase(settings))
            {
                await db.CreateStatement <int>(TestQueryString).ToListAsync();
            }
        }
        private static async Task <Exception> ProbeForException(string arangoUrl, string database, string username,
                                                                string password)
        {
            var settings = new DatabaseSharedSetting
            {
                Url        = arangoUrl,
                Database   = database,
                Credential = new NetworkCredential(username, password)
            };

            using (var db = new ArangoDatabase(settings))
            {
                return(await Record.ExceptionAsync(async() =>
                                                   await db.CreateStatement <int>("RETURN 1").ToListAsync()));
            }
        }
示例#6
0
        public RepositoryBase(ContextBase contextBase)
        {
            _contextBase = contextBase;

            var networkCredential = new NetworkCredential(_contextBase.User, _contextBase.Password);

            var settings = new DatabaseSharedSetting
            {
                Url        = _contextBase.Url,
                Database   = _contextBase.DatabaseName,
                Credential = networkCredential,
                SystemDatabaseCredential = networkCredential,
            };

            db        = new ArangoDatabase(settings);
            _document = db.Collection <T>();
        }
 public DatabaseCollectionSetting(DatabaseSharedSetting setting)
 {
     this.setting = setting;
 }
 public DocumentIdentifierModifier(DatabaseSharedSetting setting)
 {
     this.setting = setting;
 }
        public void NameOfNestedNestedMember()
        {
            DatabaseSharedSetting sharedSetting = new DatabaseSharedSetting();

            Assert.Equal(sharedSetting.Collection.ResolveNestedPropertyName <ComplexModel>(x => x.Nested.NestedNested.Name), "name");
        }
        public void NameOfNestedCollection()
        {
            DatabaseSharedSetting sharedSetting = new DatabaseSharedSetting();

            Assert.Equal(sharedSetting.Collection.ResolveCollectionName <ComplexModel.NestedModel>(), "nested");
        }
示例#11
0
 public ArangoDBUnitOfWork(DatabaseSharedSetting databaseSharedSetting)
 {
     this.Database = new ArangoDatabase(databaseSharedSetting);
 }
示例#12
0
 public DocumentIdentifierModifier(DatabaseSharedSetting setting)
 {
     this.setting = setting;
 }
        public void NameOfCollection()
        {
            DatabaseSharedSetting sharedSetting = new DatabaseSharedSetting();

            Assert.Equal("ComplexModel", sharedSetting.Collection.ResolveCollectionName <ComplexModel>());
        }