public void Create_Call_SqlConnectionCreated()
        {
            var provider   = new SqlServerConnectionProvider("Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;");
            var connection = provider.Create();

            Assert.NotNull(connection);
            Assert.IsType <SqlConnection>(connection);
        }
Пример #2
0
        public void WithoutCredentials()
        {
            var connectionString = "Data Source=myServerName;Initial Catalog=myDataBase;User ID=xxxx;Password=xxxx";
            var options          = new ConnectionProviderOptions
            {
                ConnectionString = connectionString,
                Username         = "",
                Password         = ""
            };
            var mock = new Mock <IOptions <ConnectionProviderOptions> >();

            mock.Setup(x => x.Value).Returns(options);
            var connectionProvider = new SqlServerConnectionProvider(mock.Object, _encryptionHelper);

            var connection = connectionProvider.Create();

            // connection string should be unchanged
            Assert.Equal(connection.ConnectionString, connectionString);
        }
Пример #3
0
        public void WithEncryptedCredentials()
        {
            var connectionString = "Data Source=myServerName;Initial Catalog=myDataBase;User ID=xxxx;Password=xxxx";
            var options          = new ConnectionProviderOptions
            {
                ConnectionString = connectionString,
                Username         = "******",
                Password         = "******"
            };
            var mock = new Mock <IOptions <ConnectionProviderOptions> >();

            mock.Setup(x => x.Value).Returns(options);
            var connectionProvider = new SqlServerConnectionProvider(mock.Object, _encryptionHelper);

            var connection = connectionProvider.Create();
            var expected   = "Data Source=myServerName;Initial Catalog=myDataBase;User ID=testUsername;Password=testPassword";

            // connection string should have username/password substituded in
            Assert.Equal(connection.ConnectionString, expected);
        }
Пример #4
0
 public OfficeDapperRepo(SqlServerConnectionProvider provider)
 {
     _provider = provider;
 }
Пример #5
0
 public SignOnRepo(SqlServerConnectionProvider provider)
 {
     _provider = provider;
 }
 public PermissionDapperRepo(SqlServerConnectionProvider provider)
 {
     _provider = provider;
 }
Пример #7
0
 public AccountRepo(SqlServerConnectionProvider provider)
 {
     _provider = provider;
 }
 public PersonalInfoRepo(SqlServerConnectionProvider provider)
 {
     _provider = provider;
 }
Пример #9
0
        static void Main(string[] args)
        {
            /*
             *
             * Raw sql generate ability
             *
             */
            create();

            query();

            //queryPartial();

            //queryPartial();

            //queryPartial();

            //queryPartialCondition();

            //queryWith();

            //insert();

            /*
             * create table
             */
            // excutor.Create<Animal>();



            var provider = new SqlServerConnectionProvider("Server=HW09;Database=Test;Trusted_Connection=True;");

            var excutor = new JasmineSqlExcutor(provider);

            excutor.Create <Animal>();
            excutor.DeleteAll <Animal>();


            int dataSize = 1000;


            Console.WriteLine($"test sqlexcutor and dapper speed,data size is {dataSize} row");


            var connetion = provider.Rent();

            //data
            var datas = new List <Animal>();

            for (int i = 0; i < dataSize; i++)
            {
                var animal = new Animal();

                animal.Name = i.ToString();

                datas.Add(animal);
            }



            Start("single row insert");

            startWatch();

            foreach (var item in datas)
            {
                connetion.Execute("insert into animal(name,age,canfly) values (@Name,@Age,@CanFly)", item);
            }

            PrintDapper();


            excutor.DeleteAll <Animal>();


            startWatch();

            foreach (var item in datas)
            {
                excutor.Insert <Animal>(item);
            }

            PrintExcutor();

            End();



            excutor.DeleteAll <Animal>();



            Start("test single row partial insert");

            connetion = provider.Rent();

            startWatch();

            foreach (var item in datas)
            {
                connetion.Execute("insert into animal(name,age) values (@Name,@Age)", item);
            }

            PrintDapper();


            excutor.DeleteAll <Animal>();


            startWatch();

            foreach (var item in datas)
            {
                excutor.InsertPartial <Animal>(item, null, "Name", "Age");
            }

            PrintExcutor();
            End();



            Start(" full query");

            startWatch();

            var result = connetion.Query <Animal>("select * from animal");

            PrintDapper();

            startWatch();
            result = excutor.Query <Animal>();
            PrintExcutor();
            End();


            excutor.DeleteAll <Animal>();



            Start("batch insert");
            startWatch();
            connetion.Execute("insert into animal(name,age,canfly) values(@Name,@Age,@CanFly)", datas);
            PrintDapper();
            excutor.DeleteAll <Animal>();


            startWatch();

            excutor.BatchInsert <Animal>(datas);

            PrintExcutor();
            End();



            excutor.DeleteAll <Animal>();


            Start("test batch insert partial....");
            startWatch();
            connetion.Execute("insert into animal(name,age) values(@Name,@Age)", datas);
            PrintDapper();

            excutor.DeleteAll <Animal>();


            startWatch();
            excutor.BatchInsertPartial <Animal>(new string[] { "Name", "Age" }, datas);
            PrintExcutor();
            End();

            foreach (var item in excutor.QueryTopOrderByDesc <Animal>(10, "Name"))
            {
                Console.WriteLine(item.Name);
            }


            Start("test delete");

            startWatch();

            connetion.Execute("delete from  animal where name in @ids", new { ids = new string[] { "2", "3", "4" } });
            PrintDapper();

            startWatch();
            excutor.Delete <Animal>("name in @ids", new { ids = new string[] { "4", "5", "6" } });

            PrintExcutor();

            End();


            Start("test delete2 ,test cache is useless? ");

            startWatch();

            connetion.Execute("delete from  animal where name in @ids", new { ids = new string[] { "2", "3", "4" } });
            PrintDapper();

            startWatch();
            excutor.Delete <Animal>("name in @ids", new { ids = new string[] { "4", "5", "6" } });

            PrintExcutor();

            End();


            Start("test query conditional");

            startWatch();

            connetion.Query <Animal>("select * from animal where name=@name", new { name = "99" });

            PrintDapper();

            startWatch();

            excutor.QueryConditional <Animal>("name=@name", new { name = "99" });

            PrintExcutor();



            Start("test select top ");

            startWatch();


            excutor.QueryTop <Animal>(20);

            PrintExcutor();

            End();


            Start("test select order by ");

            startWatch();


            var results = excutor.QueryPartialConditionalOrderByAsc <Animal>("age>10", null, "name", "name");

            PrintExcutor();

            foreach (var item in results)
            {
                Console.WriteLine(item.Name);
            }


            End();



            Console.Read();
        }
Пример #10
0
 public UserDapperRepo(SqlServerConnectionProvider provider)
 {
     _provider = provider;
 }