コード例 #1
0
ファイル: StorageContext.cs プロジェクト: evenbing/iridium
        public IEnumerable <T> SqlQueryScalars <T>(string sql, object parameters = null) where T : new()
        {
            if (DataProvider is ISqlDataProvider sqlProvider)
            {
                return(sqlProvider.SqlQueryScalar(sql, QueryParameterCollection.FromObject(parameters)).Select(scalar => scalar.Convert <T>()));
            }

            throw new NotSupportedException();
        }
コード例 #2
0
ファイル: StorageContext.cs プロジェクト: evenbing/iridium
        public T SqlQueryScalar <T>(string sql, object parameters = null) where T : new()
        {
            if (DataProvider is ISqlDataProvider sqlProvider)
            {
                return(sqlProvider.SqlQueryScalar(sql, QueryParameterCollection.FromObject(parameters)).FirstOrDefault().Convert <T>());
            }

            throw new NotSupportedException();
        }
コード例 #3
0
ファイル: StorageContext.cs プロジェクト: evenbing/iridium
        public IEnumerable <Dictionary <string, object> > SqlQuery(string sql, object parameters = null)
        {
            if (DataProvider is ISqlDataProvider sqlProvider)
            {
                return(sqlProvider.SqlQuery(sql, QueryParameterCollection.FromObject(parameters)).Select(entity => entity.AsDictionary()));
            }

            throw new NotSupportedException();
        }
コード例 #4
0
ファイル: StorageContext.cs プロジェクト: evenbing/iridium
        public IEnumerable <T> SqlQuery <T>(string sql, object parameters = null) where T : new()
        {
            if (DataProvider is ISqlDataProvider sqlProvider)
            {
                return(sqlProvider.SqlQuery(sql, QueryParameterCollection.FromObject(parameters)).Select(entity => entity.CreateObject <T>()));
            }

            throw new NotSupportedException();
        }
コード例 #5
0
ファイル: StorageContext.cs プロジェクト: evenbing/iridium
        // Native SQL methods

        public int SqlNonQuery(string sql, object parameters = null)
        {
            if (DataProvider is ISqlDataProvider sqlProvider)
            {
                return(sqlProvider.SqlNonQuery(sql, QueryParameterCollection.FromObject(parameters)));
            }

            throw new NotSupportedException();
        }
コード例 #6
0
        public override void Purge(TableSchema schema)
        {
            var tableName = SqlDialect.QuoteTable(schema.MappedName);

            ExecuteSql("DELETE FROM " + tableName, null);

            if (SqlQueryScalar("select name from sqlite_master where name='sqlite_sequence'", null).Any())
            {
                ExecuteSql("delete from sqlite_sequence where name=@name", QueryParameterCollection.FromObject(new { name = schema.MappedName }));
            }
        }