using System; using System.Collections.Generic; using System.Data; using System.Linq; using DynamORM; using DynamORM.Helpers; namespace Tester { internal class Program { private static DynamicDatabase GetORM() { return new DynamicDatabase(System.Data.SqlClient.SqlClientFactory.Instance, "packet size=4096;User Id=sa;Password=;data source=192.168.22.;initial catalog=PLAYGROUND;", DynamicDatabaseOptions.SingleConnection | DynamicDatabaseOptions.SingleTransaction | DynamicDatabaseOptions.SupportSchema | DynamicDatabaseOptions.SupportStoredProcedures | DynamicDatabaseOptions.SupportTop | DynamicDatabaseOptions.DumpCommands); ////return new DynamORM.DynamicDatabase(System.Data.SQLite.SQLiteFactory.Instance, //// "Data Source=test.db3;", //// DynamORM.DynamicDatabaseOptions.SingleConnection | DynamORM.DynamicDatabaseOptions.SingleTransaction | //// DynamORM.DynamicDatabaseOptions.SupportSchema | DynamORM.DynamicDatabaseOptions.SupportLimitOffset); /// } private static void Main(string[] args) { //var c = new System.Data.SqlClient.SqlConnection("packet size=4096;User Id=sa;Password=sa123;data source=192.168.0.6;initial catalog=DynamORM;"); using (var db = GetORM()) { db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_Scalar AS SELECT 42;"); var res0 = db.Procedures.sp_Exp_Scalar(); var res1 = db.Procedures.sp_Exp_Scalar(); db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_ReturnInt AS RETURN 42;"); var res2 = db.Procedures.sp_Exp_ReturnInt(); db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeData AS SELECT 1 Id, 'Some Name 1' [Name], 'Some Desc 1' [Desc], GETDATE() [Date] UNION ALL SELECT 2 Id, 'Some Name 2', 'Some Desc 2', GETDATE() [Date];"); var res3 = db.Procedures.sp_Exp_SomeData(); var res4 = db.Procedures.sp_Exp_SomeData>(); db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutput @Name nvarchar(50), @Result nvarchar(256) OUTPUT AS SELECT @Result = 'Hi, ' + @Name + ' your lucky number is 42!';"); var res5 = db.Procedures.sp_Exp_SomeInputAndOutput(Name: "G4g4r1n", out_Result: new DynamicColumn { Schema = new DynamicSchemaColumn { Size = 256, }, }, ret_Return: 0); var res6 = db.Procedures.sp_Exp_SomeInputAndOutput(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn { Size = 256, }, ret_Return: 0); db.Execute(@"CREATE OR ALTER PROCEDURE sp_Exp_SomeInputAndOutputWithDataAndReturn @Name nvarchar(50), @Result nvarchar(256) OUTPUT AS SELECT @Result = 'Hi, ' + @Name + ' your lucky number is 42!' SELECT 1 Id, 'Some Name 1' [Name], 'Some Desc 1' [Desc], GETDATE() [Date] UNION ALL SELECT 2 Id, 'Some Name 2', 'Some Desc 2', GETDATE() [Date] RETURN 42;"); var res7 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicColumn { Schema = new DynamicSchemaColumn { Size = 256, }, }, ret_Return: 0); var res8 = db.Procedures.sp_Exp_SomeInputAndOutputWithDataAndReturn, sp_Exp_SomeInputAndOutputWithDataAndReturn_Result>(Name: "G4g4r1n", out_Result: new DynamicSchemaColumn { Size = 256, }, ret_Return: 0); //try //{ // db.Execute("DROP TABLE Experiments "); //} //catch { } //db.Execute("CREATE TABLE Experiments (t1 nvarchar(50) NOT NULL DEFAULT N'', t2 varchar(50) NOT NULL DEFAULT '');"); //var q = db.From(x => x.Experiments.As(x.e1)); //q // .Where(x => x.t2 = "Dupa") // .Where(x => x.Exists( // q.SubQuery() // .From(y => y.Experiments.As(x.e2)) // .Where(y => y.e2.t1 == y.e1.t1))) // .Execute().ToList(); //db.Execute("DROP TABLE Experiments "); //IDataReader rdr = db.Procedures.sp_getdate(); //var dt = rdr.ToDataTable(); //var dt2 = db.Procedures.sp_getdate(); //db.Procedures.usp_API_Generate_Doc_Number(key: Guid.NewGuid(), mdn_id: "ZZ"); //var resL = (db.Procedures.GetProductDesc>() as IEnumerable) // .Cast() // .ToArray(); //var res = db.Procedures.GetProductDesc_withparameters(PID: 707); //res = db.Procedures.GetProductDesc_withDefaultparameters(); //int id = -1; //var resD = db.Procedures.ins_NewEmp_with_outputparamaters(Ename: "Test2", out_EId: id); } } private class sp_Exp_SomeData_Result { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual string Desc { get; set; } public virtual DateTime Date { get; set; } } private class sp_Exp_SomeInputAndOutput_Result { public virtual string Result { get; set; } public virtual string Return { get; set; } } private class sp_Exp_SomeInputAndOutputWithDataAndReturn_Result { public class Data { public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual string Desc { get; set; } public virtual DateTime Date { get; set; } } public virtual List sp_Exp_SomeInputAndOutputWithDataAndReturn { get; set; } public virtual string Result { get; set; } public virtual string Return { get; set; } } } }