Example #1
0
        public void Test_Build_Parameters_Uses_Runtime_Type()
        {
            var obj2Sql = new ObjectToSql(DataBaseType.SqlServer, true);
            var hashSet = new HashSet <Employee>(new List <Employee>()
            {
                new Employee()
                {
                    FirstName = "joif", LastName = "dsfi"
                }
            });
            var data = hashSet.ToList();

            if (data.GetType().IsTypeAnIEnumerable())
            {
                if (data is IEnumerable <object> list)
                {
                    foreach (var item in list)
                    {
                        var parameters = obj2Sql.BuildDbParameterList(item, delegate(string s, object o)
                                                                      { return(new SqlParameter(s, o)); });
                        Assert.That(parameters != null && parameters.Count == 2);
                    }
                }
            }
        }
        private static string HowToUseWithAnonymousObjects()
        {
            var obj       = new { FirstName = "John", LastName = "Doe" };
            var insertSql = new ObjectToSql(DataBaseType.SqlServer).BuildQuery(ActionType.Insert, obj, "Employee");

            return(insertSql);
        }
        private static string HowToUseWithDynamicObjects()
        {
            dynamic record = new ExpandoObject();

            record.FirstName = "John";
            record.LastName  = "Doe";
            var insertSql = new ObjectToSql(DataBaseType.SqlServer).BuildQuery(ActionType.Insert, record, "Employee");

            return(insertSql);
        }
 // HOW TO GENERATE SQL
 private static void HowToUseWithGenericTypesDetailed()
 {
     // ## HOW TO USE WITH GENERICS TYPES
     var actionType   = ActionType.Insert;           // A enum with the values Insert,Update,Delete,Upsert
     var databaseType = DataBaseType.SqlServer;      // A enum with values of SQLServer,SQLite & more
     var obj2Sql      = new ObjectToSql(databaseType);
     var insertSql    = obj2Sql.BuildQuery <Employee>(actionType);
     // Additional Overload Methods
     var insertSql1 = obj2Sql.BuildQuery <Employee>(actionType, "TableName");
     var insertSql2 = obj2Sql.BuildQuery(actionType, new Employee());
     var insertSql3 = obj2Sql.BuildQuery(actionType, new Employee(), "TableName");
 }
 // HOW Tstatic O GENERATE DBParameters
 private static void HowToGenerateDBParameters()
 {
     var obj2Sql = new ObjectToSql(DataBaseType.SqlServer);
     List <DbParameter> dbParameters = obj2Sql.BuildDbParameterList(new Employee(), (s, o) => new SqlParameter(s, o));
 }
        private static string HowToUseWithGenericObjects()
        {
            var insertSql = new ObjectToSql(DataBaseType.SqlServer).BuildQuery(ActionType.Insert, new Employee());

            return(insertSql);
        }