在Dapper中设置表格

时间:2018-05-23 21:12:15

标签: c# sqlite dapper

我是Dapper的新手,目前我正在尝试填充我的新数据库。 由于Dapper无法直接从模型创建表,我应该如何填充我的数据库?除了从变量执行模式之外,还有什么好的做法吗?

目前,我正在使用此(脏方法):

 public void CreateTables()
    {
        using (var connection = GetSQLiteHandle())
        {
            string sql = @"
                CREATE TABLE IF NOT EXISTS statistics (
                    id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    name TEXT NOT NULL,
                    value TEXT NOT NULL
                );
                CREATE TABLE IF NOT EXISTS posts (
                    id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    content TEXT NOT NULL,
                    created TEXT NOT NULL
                );
                CREATE TABLE IF NOT EXISTS names (
                    id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    name TEXT NOT NULL
                );
                CREATE TABLE IF NOT EXISTS users (
                    id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    username TEXT NOT NULL,
                    email TEXT NOT NULL,
                    created TEXT NOT NULL
                );
                CREATE TABLE IF NOT EXISTS storage (
                    id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    key TEXT NOT NULL,
                    value TEXT NOT NULL
                );
            ";
            connection.Execute(sql);
        }
    }

1 个答案:

答案 0 :(得分:2)

Dapper无法生成像Entity Framework这样的表。因此,您可以使用EF代码优先方法。如果要使用Dapper,可以使用fluent migrator等迁移工具,并使用它生成db。