示例#1
0
        static void sqlitedemo()
        {
            string connString    = appConfiguration.GetConnectionString("sqlite");
            var    sqlitecontext = new Chloe.SQLite.SQLiteContext(new SQLiteConnectionFactory(connString));

            //创建表
            sqlitecontext.SqlQuery <dynamic>("CREATE TABLE IF NOT EXISTS student(id INTEGER PRIMARY KEY AUTOINCREMENT, name varchar(20), sex varchar(2));").ToList();
            //示例重复执行
            sqlitecontext.SqlQuery <int>("delete from student").ToList();
            //使用事务示例
            sqlitecontext.Session.BeginTransaction();
            for (var i = 0; i < 10; i++)
            {
                sqlitecontext.SqlQuery <int>("INSERT INTO student VALUES(null, @name, @sex)"
                                             , new DbParam("@name", "test" + i)
                                             , new DbParam("sex", i % 2 == 0 ? "男" : "女")).ToList();
            }
            sqlitecontext.Session.CommitTransaction();
            //基本查询
            var students = sqlitecontext.SqlQuery <dynamic>("select * from student").ToList();

            foreach (var std in students)
            {
                Console.WriteLine(std.id + "\t" + std.name + "\t" + std.sex);
            }
        }
        /// <summary>
        /// 新建数据库链接
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public static SQLiteContext NewContext(string path)
        {
            var conn    = $"data source = {path}";
            var factory = new SQLiteFactory(conn);
            var context = new SQLiteContext(factory);

            return(context);
        }