diff --git a/csharp/db - demo -app/db - demo -app/App.config b/csharp/db - demo -app/db - demo -app/App.config new file mode 100644 index 0000000..799a7fa --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/App.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/csharp/db - demo -app/db - demo -app/Program.cs b/csharp/db - demo -app/db - demo -app/Program.cs new file mode 100644 index 0000000..347538e --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace db___demo__app +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new StartPage()); + } + } +} diff --git a/csharp/db - demo -app/db - demo -app/Properties/AssemblyInfo.cs b/csharp/db - demo -app/db - demo -app/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f50d910 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("db - demo -app")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("db - demo -app")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("261f26ce-187c-4104-8ef7-8556f942c601")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/csharp/db - demo -app/db - demo -app/Properties/Resources.Designer.cs b/csharp/db - demo -app/db - demo -app/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f71b2e1 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace db___demo__app.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("db___demo__app.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/csharp/db - demo -app/db - demo -app/Properties/Resources.resx b/csharp/db - demo -app/db - demo -app/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/csharp/db - demo -app/db - demo -app/Properties/Settings.Designer.cs b/csharp/db - demo -app/db - demo -app/Properties/Settings.Designer.cs new file mode 100644 index 0000000..9fb4849 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace db___demo__app.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/csharp/db - demo -app/db - demo -app/Properties/Settings.settings b/csharp/db - demo -app/db - demo -app/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/csharp/db - demo -app/db - demo -app/StartPage.Designer.cs b/csharp/db - demo -app/db - demo -app/StartPage.Designer.cs new file mode 100644 index 0000000..9f2c770 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/StartPage.Designer.cs @@ -0,0 +1,124 @@ +namespace db___demo__app +{ + partial class StartPage + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.titel = new System.Windows.Forms.Label(); + this.locations = new System.Windows.Forms.ListBox(); + this.location_titel = new System.Windows.Forms.Label(); + this.search = new System.Windows.Forms.TextBox(); + this.search_button = new System.Windows.Forms.Button(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // titel + // + this.titel.AutoSize = true; + this.titel.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.2F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.titel.Location = new System.Drawing.Point(36, 32); + this.titel.Name = "titel"; + this.titel.Size = new System.Drawing.Size(330, 32); + this.titel.TabIndex = 0; + this.titel.Text = "Freier Markt im Kleinen"; + this.titel.Click += new System.EventHandler(this.label1_Click); + // + // locations + // + this.locations.FormattingEnabled = true; + this.locations.ItemHeight = 25; + this.locations.Location = new System.Drawing.Point(41, 100); + this.locations.Name = "locations"; + this.locations.Size = new System.Drawing.Size(325, 129); + this.locations.TabIndex = 1; + // + // location_titel + // + this.location_titel.AutoSize = true; + this.location_titel.Location = new System.Drawing.Point(36, 72); + this.location_titel.Name = "location_titel"; + this.location_titel.Size = new System.Drawing.Size(124, 25); + this.location_titel.TabIndex = 2; + this.location_titel.Text = "Freie Stände"; + this.location_titel.Click += new System.EventHandler(this.label1_Click_1); + // + // search + // + this.search.Location = new System.Drawing.Point(41, 242); + this.search.Name = "search"; + this.search.Size = new System.Drawing.Size(227, 30); + this.search.TabIndex = 7; + // + // search_button + // + this.search_button.Location = new System.Drawing.Point(280, 242); + this.search_button.Name = "search_button"; + this.search_button.Size = new System.Drawing.Size(86, 33); + this.search_button.TabIndex = 8; + this.search_button.Text = "search"; + this.search_button.UseVisualStyleBackColor = true; + this.search_button.Click += new System.EventHandler(this.search_button_Click); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(481, 156); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(287, 30); + this.textBox1.TabIndex = 9; + // + // StartPage + // + this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 25F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(957, 445); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.search_button); + this.Controls.Add(this.search); + this.Controls.Add(this.location_titel); + this.Controls.Add(this.locations); + this.Controls.Add(this.titel); + this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.Name = "StartPage"; + this.Text = "FMiK-Start"; + this.Load += new System.EventHandler(this.StartPage_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label titel; + private System.Windows.Forms.ListBox locations; + private System.Windows.Forms.Label location_titel; + private System.Windows.Forms.TextBox search; + private System.Windows.Forms.Button search_button; + private System.Windows.Forms.TextBox textBox1; + } +} + diff --git a/csharp/db - demo -app/db - demo -app/StartPage.cs b/csharp/db - demo -app/db - demo -app/StartPage.cs new file mode 100644 index 0000000..d04c257 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/StartPage.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace db___demo__app +{ + public partial class StartPage : Form + { + List location = new List(); + public StartPage() + { + InitializeComponent(); + } + + private void StartPage_Load(object sender, EventArgs e) + { + + } + + private void label1_Click(object sender, EventArgs e) + { + + } + + private void label1_Click_1(object sender, EventArgs e) + { + + } + + private void search_button_Click(object sender, EventArgs e) + { + dataAccess db = new dataAccess(); + + location = db.GetLocations(search.Text); + } + } +} diff --git a/csharp/db - demo -app/db - demo -app/StartPage.resx b/csharp/db - demo -app/db - demo -app/StartPage.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/StartPage.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.exe b/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.exe new file mode 100644 index 0000000..af3712e Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.exe differ diff --git a/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.exe.config b/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.exe.config new file mode 100644 index 0000000..799a7fa --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.exe.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.pdb b/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.pdb new file mode 100644 index 0000000..d1fe98d Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/bin/Debug/db - demo -app.pdb differ diff --git a/csharp/db - demo -app/db - demo -app/dataAccess.cs b/csharp/db - demo -app/db - demo -app/dataAccess.cs new file mode 100644 index 0000000..91af663 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/dataAccess.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace db___demo__app +{ + public class dataAccess + { + public List GetLocations(string location_name) + { + throw new NotImplementedException(); + } + } +} diff --git a/csharp/db - demo -app/db - demo -app/db-appUI.csproj b/csharp/db - demo -app/db - demo -app/db-appUI.csproj new file mode 100644 index 0000000..95f2099 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/db-appUI.csproj @@ -0,0 +1,86 @@ + + + + + Debug + AnyCPU + {261F26CE-187C-4104-8EF7-8556F942C601} + WinExe + db___demo__app + db - demo -app + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + Form + + + StartPage.cs + + + + + StartPage.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/csharp/db - demo -app/db - demo -app/helper.cs b/csharp/db - demo -app/db - demo -app/helper.cs new file mode 100644 index 0000000..2f0a8c4 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/helper.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace db___demo__app +{ + public static class helper + { + public static string CnnVal(string name) + { + return ConfigurationManager.ConnectionStrings[name].ConnectionString; + } + } +} diff --git a/csharp/db - demo -app/db - demo -app/locations.cs b/csharp/db - demo -app/db - demo -app/locations.cs new file mode 100644 index 0000000..57b8e88 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/locations.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace db___demo__app +{ + public class locations + { + public int location_id { get; set; } + public string streetname { get; set; } + public int location_capacity { get; set; } + public string location_name { get; set; } + public int city_id { get; set; } + public int country_id { get; set; } + } +} diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/CoreCompileInputs.cache b/csharp/db - demo -app/db - demo -app/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..a199595 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +daf65045dc1a637fc3e5d73beee1b42a5ae91ad2 diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/csharp/db - demo -app/db - demo -app/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..8698487 Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/csharp/db - demo -app/db - demo -app/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..f031170 Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/csharp/db - demo -app/db - demo -app/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/csharp/db - demo -app/db - demo -app/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/csharp/db - demo -app/db - demo -app/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db - demo -app.exe b/csharp/db - demo -app/db - demo -app/obj/Debug/db - demo -app.exe new file mode 100644 index 0000000..af3712e Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/db - demo -app.exe differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db - demo -app.pdb b/csharp/db - demo -app/db - demo -app/obj/Debug/db - demo -app.pdb new file mode 100644 index 0000000..d1fe98d Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/db - demo -app.pdb differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csproj.FileListAbsolute.txt b/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..30a31c7 --- /dev/null +++ b/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csproj.FileListAbsolute.txt @@ -0,0 +1,9 @@ +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\bin\Debug\db - demo -app.exe.config +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\bin\Debug\db - demo -app.exe +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\bin\Debug\db - demo -app.pdb +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\obj\Debug\db-appUI.csprojResolveAssemblyReference.cache +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\obj\Debug\db___demo__app.StartPage.resources +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\obj\Debug\db___demo__app.Properties.Resources.resources +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\obj\Debug\db-appUI.csproj.GenerateResource.Cache +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\obj\Debug\db - demo -app.exe +c:\users\ismail\documents\visual studio 2017\Projects\db - demo -app\db - demo -app\obj\Debug\db - demo -app.pdb diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csproj.GenerateResource.Cache b/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csproj.GenerateResource.Cache new file mode 100644 index 0000000..3808834 Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csproj.GenerateResource.Cache differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csprojResolveAssemblyReference.cache b/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..9a4759b Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/db-appUI.csprojResolveAssemblyReference.cache differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db___demo__app.Properties.Resources.resources b/csharp/db - demo -app/db - demo -app/obj/Debug/db___demo__app.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/db___demo__app.Properties.Resources.resources differ diff --git a/csharp/db - demo -app/db - demo -app/obj/Debug/db___demo__app.StartPage.resources b/csharp/db - demo -app/db - demo -app/obj/Debug/db___demo__app.StartPage.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/csharp/db - demo -app/db - demo -app/obj/Debug/db___demo__app.StartPage.resources differ diff --git a/csharp/db - demo -app/db -demo-app.sln b/csharp/db - demo -app/db -demo-app.sln new file mode 100644 index 0000000..cc99f96 --- /dev/null +++ b/csharp/db - demo -app/db -demo-app.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26403.7 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "db-appUI", "db - demo -app\db-appUI.csproj", "{261F26CE-187C-4104-8EF7-8556F942C601}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {261F26CE-187C-4104-8EF7-8556F942C601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {261F26CE-187C-4104-8EF7-8556F942C601}.Debug|Any CPU.Build.0 = Debug|Any CPU + {261F26CE-187C-4104-8EF7-8556F942C601}.Release|Any CPU.ActiveCfg = Release|Any CPU + {261F26CE-187C-4104-8EF7-8556F942C601}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/csharp/db - demo -app/db-appLibary/Properties/AssemblyInfo.cs b/csharp/db - demo -app/db-appLibary/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4a0e802 --- /dev/null +++ b/csharp/db - demo -app/db-appLibary/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("db-appLibary")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("db-appLibary")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("d917f26e-cde7-4bd3-ba68-6a3299cf8c5a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/csharp/db - demo -app/db-appLibary/db-appLibary.cs b/csharp/db - demo -app/db-appLibary/db-appLibary.cs new file mode 100644 index 0000000..57cdef2 --- /dev/null +++ b/csharp/db - demo -app/db-appLibary/db-appLibary.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace db_appLibary +{ + public class locations + { + + + } +} diff --git a/csharp/db - demo -app/db-appLibary/db-appLibary.csproj b/csharp/db - demo -app/db-appLibary/db-appLibary.csproj new file mode 100644 index 0000000..d4444e1 --- /dev/null +++ b/csharp/db - demo -app/db-appLibary/db-appLibary.csproj @@ -0,0 +1,48 @@ + + + + + Debug + AnyCPU + {D917F26E-CDE7-4BD3-BA68-6A3299CF8C5A} + Library + Properties + db_appLibary + db-appLibary + v4.5.2 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/csharp/db - demo -app/db-appLibary/obj/Debug/CoreCompileInputs.cache b/csharp/db - demo -app/db-appLibary/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..f5fea0b --- /dev/null +++ b/csharp/db - demo -app/db-appLibary/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +14ba4ef7b776c31f5ba06bf6aec3ad2ed80e3463 diff --git a/csharp/db - demo -app/db-appLibary/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/csharp/db - demo -app/db-appLibary/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..b4f080c Binary files /dev/null and b/csharp/db - demo -app/db-appLibary/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/csharp/db - demo -app/db-appLibary/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/csharp/db - demo -app/db-appLibary/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/db - demo -app/db-appLibary/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/csharp/db - demo -app/db-appLibary/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/db - demo -app/db-appLibary/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/csharp/db - demo -app/db-appLibary/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/marketconnectionNET/marketconnectionNET.sln b/csharp/marketconnectionNET/marketconnectionNET.sln new file mode 100644 index 0000000..3a64e80 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26403.7 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "marketconnectionNET", "marketconnectionNET\marketconnectionNET.csproj", "{25F26283-2288-4C4B-AAD1-4AB3453F7752}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {25F26283-2288-4C4B-AAD1-4AB3453F7752}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {25F26283-2288-4C4B-AAD1-4AB3453F7752}.Debug|Any CPU.Build.0 = Debug|Any CPU + {25F26283-2288-4C4B-AAD1-4AB3453F7752}.Release|Any CPU.ActiveCfg = Release|Any CPU + {25F26283-2288-4C4B-AAD1-4AB3453F7752}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/csharp/marketconnectionNET/marketconnectionNET/App.config b/csharp/marketconnectionNET/marketconnectionNET/App.config new file mode 100644 index 0000000..7e40e94 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/App.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/csharp/marketconnectionNET/marketconnectionNET/Dashboard.Designer.cs b/csharp/marketconnectionNET/marketconnectionNET/Dashboard.Designer.cs new file mode 100644 index 0000000..e57f29b --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/Dashboard.Designer.cs @@ -0,0 +1,86 @@ +namespace marketconnectionNET +{ + partial class Dashboard + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.locationbox = new System.Windows.Forms.ListBox(); + this.LocationName = new System.Windows.Forms.TextBox(); + this.search = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // locationbox + // + this.locationbox.FormattingEnabled = true; + this.locationbox.ItemHeight = 16; + this.locationbox.Location = new System.Drawing.Point(12, 79); + this.locationbox.Name = "locationbox"; + this.locationbox.Size = new System.Drawing.Size(120, 84); + this.locationbox.TabIndex = 0; + // + // LocationName + // + this.LocationName.Location = new System.Drawing.Point(12, 28); + this.LocationName.Name = "LocationName"; + this.LocationName.Size = new System.Drawing.Size(100, 22); + this.LocationName.TabIndex = 1; + this.LocationName.Text = "LocationName"; + this.LocationName.Click += new System.EventHandler(this.search_Click); + this.LocationName.TextChanged += new System.EventHandler(this.search_Click); + // + // search + // + this.search.Location = new System.Drawing.Point(139, 139); + this.search.Name = "search"; + this.search.Size = new System.Drawing.Size(75, 23); + this.search.TabIndex = 2; + this.search.Text = "search"; + this.search.UseVisualStyleBackColor = true; + this.search.Click += new System.EventHandler(this.search_Click); + // + // Dashboard + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(506, 278); + this.Controls.Add(this.search); + this.Controls.Add(this.LocationName); + this.Controls.Add(this.locationbox); + this.Name = "Dashboard"; + this.Text = "CastStudy"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListBox locationbox; + private System.Windows.Forms.TextBox LocationName; + private System.Windows.Forms.Button search; + } +} \ No newline at end of file diff --git a/csharp/marketconnectionNET/marketconnectionNET/Dashboard.cs b/csharp/marketconnectionNET/marketconnectionNET/Dashboard.cs new file mode 100644 index 0000000..53bbf78 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/Dashboard.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace marketconnectionNET +{ + public partial class Dashboard : Form + { + List city = new List(); + public Dashboard() + { + InitializeComponent(); + + UpdateBinding(); + + } + + private void UpdateBinding() + { + locationbox.DataSource = city; + locationbox.DisplayMember = "FullInfo"; + } + + private void search_Click(object sender, EventArgs e) + { + dataaccess db = new dataaccess(); + + city = db.GetLocations(LocationName.Text); + + UpdateBinding(); + } + } + +} diff --git a/csharp/marketconnectionNET/marketconnectionNET/Dashboard.resx b/csharp/marketconnectionNET/marketconnectionNET/Dashboard.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/Dashboard.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/csharp/marketconnectionNET/marketconnectionNET/Properties/AssemblyInfo.cs b/csharp/marketconnectionNET/marketconnectionNET/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..416507d --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("marketconnectionNET")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("marketconnectionNET")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("25f26283-2288-4c4b-aad1-4ab3453f7752")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/Dapper.dll b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/Dapper.dll new file mode 100644 index 0000000..ba449d4 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/Dapper.dll differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/Dapper.xml b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/Dapper.xml new file mode 100644 index 0000000..52f064f --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/Dapper.xml @@ -0,0 +1,1952 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list + + + + + Add a parameter to this dynamic parameter list + + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of SqlDataRecordListTVPParameter + + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + + + + + + The field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Maps a query to objects + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the recordset + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by dapper + + + + + + Return a list of all the queries cached by dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers + + + + + Configure the specified type to be mapped to a given db-type + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Get the DbType that maps to a given value + + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Maps a query to objects + + The first type in the record set + The second type in the record set + The return type + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 5 input parameters + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 6 input parameters + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 7 input parameters + + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the record set + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Internal use only + + + + + + + Internal use only + + + + + Internal use only + + + + + Internal use only + + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + + + + Replace all literal tokens with their text form + + + + + Convert numeric values to their string form for SQL literal purposes + + + + + Internal use only + + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given type + + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Associate a DataTable with a type name + + + + + Fetch the type name associated with a DataTable + + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter + + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility + + + + + Create an identity for use with DynamicParameters, internal use only + + + + + + + + + + + + + + The sql + + + + + The command type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compare 2 Identity objects + + + + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + + + + Parse a string into the expected type (the string will never be null) + + + + + Format an instace into a string (the instance will never be null) + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified UdtTypeName + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe new file mode 100644 index 0000000..fd75208 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.CodeAnalysisLog.xml b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.CodeAnalysisLog.xml new file mode 100644 index 0000000..55f1dc2 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.CodeAnalysisLog.xml @@ -0,0 +1,53 @@ + + + + + + + + + + Mark the entry point method 'Programm.Main(string[])' in assembly 'marketconnectionNET.exe' with an STAThreadAttribute. + + + + + + + + + Mark Windows Forms entry points with STAThread + Assemblies that reference System.Windows.Forms should have the STAThreadAttribute. Failure to apply this attribute will most likely result in an application that does not work. Windows Forms relies on a number of components that use the STA model. + Mark the entry point method {0} in assembly {1} with an STAThreadAttribute. + + http://msdn.microsoft.com/library/ms182351.aspx + [none] + Error + + + + + Category + Certainty + Collapse All + Check Id + Error + error(s) + Expand All + Help + Line + message(s) + [Location not stored in Pdb] + Project + Resolution + Rule + Rule File + Rule Description + Source + Status + Target + Warning + warning(s) + Code Analysis Report + + diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.config b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.config new file mode 100644 index 0000000..e065e29 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.lastcodeanalysissucceeded b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.exe.lastcodeanalysissucceeded new file mode 100644 index 0000000..e69de29 diff --git a/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.pdb b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.pdb new file mode 100644 index 0000000..1f04cc9 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/bin/Debug/marketconnectionNET.pdb differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/cities.cs b/csharp/marketconnectionNET/marketconnectionNET/cities.cs new file mode 100644 index 0000000..61c05a0 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/cities.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace marketconnectionNET +{ + public class cities + { + public int city_id { get; set; } + public string city_name { get; set; } + public int zip_code { get; set; } + + + + public string FullInfo + { + get + { + return $"{ city_name } { zip_code } "; + } + + } + } +} diff --git a/csharp/marketconnectionNET/marketconnectionNET/dataaccess.cs b/csharp/marketconnectionNET/marketconnectionNET/dataaccess.cs new file mode 100644 index 0000000..f429271 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/dataaccess.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Dapper; +using System.Data; +using System.Data.SqlClient; + +namespace marketconnectionNET +{ + public class dataaccess + { + + public List GetLocations(string LocationName) + { + using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(helper.CnnVal("marketdb"))) + { + + var output = connection.Query ($"select * from cities where city_name = '{ LocationName }'").ToList(); + return output; + + } + } + } +} diff --git a/csharp/marketconnectionNET/marketconnectionNET/helper.cs b/csharp/marketconnectionNET/marketconnectionNET/helper.cs new file mode 100644 index 0000000..802e494 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/helper.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace marketconnectionNET +{ + public static class helper + { + public static string CnnVal(string marketdb) + { + return ConfigurationManager.ConnectionStrings[marketdb].ConnectionString; + } + + } +} diff --git a/csharp/marketconnectionNET/marketconnectionNET/marketconnectionNET.csproj b/csharp/marketconnectionNET/marketconnectionNET/marketconnectionNET.csproj new file mode 100644 index 0000000..5173d34 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/marketconnectionNET.csproj @@ -0,0 +1,77 @@ + + + + + Debug + AnyCPU + {25F26283-2288-4C4B-AAD1-4AB3453F7752} + WinExe + marketconnectionNET + marketconnectionNET + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + ..\packages\Dapper.1.50.2\lib\net451\Dapper.dll + + + + + + + + + + + + + + + + Form + + + Dashboard.cs + + + + + + + + + + + + + Dashboard.cs + + + + \ No newline at end of file diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/CoreCompileInputs.cache b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..a9da512 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +734ee48575761c950000745219c57f0789d1b87b diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..e42699a Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..e2a94c8 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.Dashboard.resources b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.Dashboard.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.Dashboard.resources differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.csproj.FileListAbsolute.txt b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9390e5a --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.csproj.FileListAbsolute.txt @@ -0,0 +1,11 @@ +C:\Users\Ismail\documents\visual studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\marketconnectionNET.pdb +C:\Users\Ismail\documents\visual studio 2017\Projects\marketconnectionNET\marketconnectionNET\obj\Debug\marketconnectionNET.pdb +C:\Users\Ismail\documents\visual studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\Dapper.dll +C:\Users\Ismail\documents\visual studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\Dapper.xml +C:\Users\Ismail\documents\visual studio 2017\Projects\marketconnectionNET\marketconnectionNET\obj\Debug\marketconnectionNET.Dashboard.resources +C:\Users\Ismail\documents\visual studio 2017\Projects\marketconnectionNET\marketconnectionNET\obj\Debug\marketconnectionNET.csproj.GenerateResource.Cache +C:\Users\Ismail\Documents\Visual Studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\marketconnectionNET.exe.config +C:\Users\Ismail\Documents\Visual Studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\marketconnectionNET.exe +C:\Users\Ismail\Documents\Visual Studio 2017\Projects\marketconnectionNET\marketconnectionNET\obj\Debug\marketconnectionNET.exe +C:\Users\Ismail\Documents\Visual Studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\marketconnectionNET.exe.CodeAnalysisLog.xml +C:\Users\Ismail\Documents\Visual Studio 2017\Projects\marketconnectionNET\marketconnectionNET\bin\Debug\marketconnectionNET.exe.lastcodeanalysissucceeded diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.csproj.GenerateResource.Cache b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.csproj.GenerateResource.Cache new file mode 100644 index 0000000..7f5489d Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.csproj.GenerateResource.Cache differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.exe b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.exe new file mode 100644 index 0000000..fd75208 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.exe differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.pdb b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.pdb new file mode 100644 index 0000000..1f04cc9 Binary files /dev/null and b/csharp/marketconnectionNET/marketconnectionNET/obj/Debug/marketconnectionNET.pdb differ diff --git a/csharp/marketconnectionNET/marketconnectionNET/packages.config b/csharp/marketconnectionNET/marketconnectionNET/packages.config new file mode 100644 index 0000000..cb48927 --- /dev/null +++ b/csharp/marketconnectionNET/marketconnectionNET/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/Dapper.1.50.2.nupkg b/csharp/marketconnectionNET/packages/Dapper.1.50.2/Dapper.1.50.2.nupkg new file mode 100644 index 0000000..c1fa0a8 Binary files /dev/null and b/csharp/marketconnectionNET/packages/Dapper.1.50.2/Dapper.1.50.2.nupkg differ diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net40/Dapper.dll b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net40/Dapper.dll new file mode 100644 index 0000000..d68becd Binary files /dev/null and b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net40/Dapper.dll differ diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net40/Dapper.xml b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net40/Dapper.xml new file mode 100644 index 0000000..436db12 --- /dev/null +++ b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net40/Dapper.xml @@ -0,0 +1,1530 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list + + + + + Add a parameter to this dynamic parameter list + + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of SqlDataRecordListTVPParameter + + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by dapper + + + + + + Return a list of all the queries cached by dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers + + + + + Configure the specified type to be mapped to a given db-type + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Get the DbType that maps to a given value + + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Maps a query to objects + + The first type in the record set + The second type in the record set + The return type + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 5 input parameters + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 6 input parameters + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 7 input parameters + + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the record set + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Internal use only + + + + + + + Internal use only + + + + + Internal use only + + + + + Internal use only + + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + + + + Replace all literal tokens with their text form + + + + + Convert numeric values to their string form for SQL literal purposes + + + + + Internal use only + + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given type + + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Associate a DataTable with a type name + + + + + Fetch the type name associated with a DataTable + + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter + + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility + + + + + Create an identity for use with DynamicParameters, internal use only + + + + + + + + + + + + + + The sql + + + + + The command type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compare 2 Identity objects + + + + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + + + + Parse a string into the expected type (the string will never be null) + + + + + Format an instace into a string (the instance will never be null) + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified UdtTypeName + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net45/Dapper.dll b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net45/Dapper.dll new file mode 100644 index 0000000..7ea80a0 Binary files /dev/null and b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net45/Dapper.dll differ diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net45/Dapper.xml b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net45/Dapper.xml new file mode 100644 index 0000000..52f064f --- /dev/null +++ b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net45/Dapper.xml @@ -0,0 +1,1952 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list + + + + + Add a parameter to this dynamic parameter list + + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of SqlDataRecordListTVPParameter + + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + + + + + + The field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Maps a query to objects + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the recordset + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by dapper + + + + + + Return a list of all the queries cached by dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers + + + + + Configure the specified type to be mapped to a given db-type + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Get the DbType that maps to a given value + + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Maps a query to objects + + The first type in the record set + The second type in the record set + The return type + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 5 input parameters + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 6 input parameters + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 7 input parameters + + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the record set + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Internal use only + + + + + + + Internal use only + + + + + Internal use only + + + + + Internal use only + + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + + + + Replace all literal tokens with their text form + + + + + Convert numeric values to their string form for SQL literal purposes + + + + + Internal use only + + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given type + + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Associate a DataTable with a type name + + + + + Fetch the type name associated with a DataTable + + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter + + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility + + + + + Create an identity for use with DynamicParameters, internal use only + + + + + + + + + + + + + + The sql + + + + + The command type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compare 2 Identity objects + + + + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + + + + Parse a string into the expected type (the string will never be null) + + + + + Format an instace into a string (the instance will never be null) + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified UdtTypeName + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net451/Dapper.dll b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net451/Dapper.dll new file mode 100644 index 0000000..ba449d4 Binary files /dev/null and b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net451/Dapper.dll differ diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net451/Dapper.xml b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net451/Dapper.xml new file mode 100644 index 0000000..52f064f --- /dev/null +++ b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/net451/Dapper.xml @@ -0,0 +1,1952 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list + + + + + Add a parameter to this dynamic parameter list + + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Used to pass a IEnumerable<SqlDataRecord> as a SqlDataRecordListTVPParameter + + + + + Create a new instance of SqlDataRecordListTVPParameter + + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + + + + + + The field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Maps a query to objects + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the recordset + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by dapper + + + + + + Return a list of all the queries cached by dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers + + + + + Configure the specified type to be mapped to a given db-type + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Get the DbType that maps to a given value + + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Maps a query to objects + + The first type in the record set + The second type in the record set + The return type + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 5 input parameters + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 6 input parameters + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 7 input parameters + + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the record set + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Internal use only + + + + + + + Internal use only + + + + + Internal use only + + + + + Internal use only + + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + + + + Replace all literal tokens with their text form + + + + + Convert numeric values to their string form for SQL literal purposes + + + + + Internal use only + + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given type + + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Key used to indicate the type name associated with a DataTable + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Associate a DataTable with a type name + + + + + Fetch the type name associated with a DataTable + + + + + Used to pass a IEnumerable<SqlDataRecord> as a TableValuedParameter + + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility + + + + + Create an identity for use with DynamicParameters, internal use only + + + + + + + + + + + + + + The sql + + + + + The command type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compare 2 Identity objects + + + + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + + + + Parse a string into the expected type (the string will never be null) + + + + + Format an instace into a string (the instance will never be null) + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + A type handler for data-types that are supported by the underlying provider, but which need + a well-known UdtTypeName to be specified + + + + + Creates a new instance of UdtTypeHandler with the specified UdtTypeName + + + + + Used to pass a DataTable as a TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Create a new instance of TableValuedParameter + + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + + diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/netstandard1.3/Dapper.dll b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/netstandard1.3/Dapper.dll new file mode 100644 index 0000000..c71e867 Binary files /dev/null and b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/netstandard1.3/Dapper.dll differ diff --git a/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/netstandard1.3/Dapper.xml b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/netstandard1.3/Dapper.xml new file mode 100644 index 0000000..50c0e32 --- /dev/null +++ b/csharp/marketconnectionNET/packages/Dapper.1.50.2/lib/netstandard1.3/Dapper.xml @@ -0,0 +1,1891 @@ + + + + Dapper + + + + + Represents the key aspects of a sql operation + + + + + The command (sql or a stored-procedure name) to execute + + + + + The parameters associated with the command + + + + + The active transaction for the command + + + + + The effective timeout for the command + + + + + The type of command that the command-text represents + + + + + Should data be buffered before returning? + + + + + Should the plan for this query be cached? + + + + + Additional state flags against this command + + + + + Can async queries be pipelined? + + + + + Initialize the command definition + + + + + For asynchronous operations, the cancellation-token + + + + + Additional state flags that control command behaviour + + + + + No additional flags + + + + + Should data be buffered before returning? + + + + + Can async queries be pipelined? + + + + + Should the plan cache be bypassed? + + + + + Implements custom property mapping by user provided criteria (usually presence of some custom attribute with column to member mapping) + + + + + Creates custom property mapping + + Target entity type + Property selector based on target type and DataReader column name + + + + Always returns default constructor + + DataReader column names + DataReader column types + Default constructor + + + + Always returns null + + + + + + Not implemented as far as default constructor used for all cases + + + + + + + + Returns property based on selector strategy + + DataReader column name + Poperty member map + + + + This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar + + + + + Default value for IsAnsi. + + + + + A value to set the default value of strings + going through Dapper. Default is 4000, any value larger than this + field will not have the default value applied. + + + + + Create a new DbString + + + + + Ansi vs Unicode + + + + + Fixed length + + + + + Length of the string -1 for max + + + + + The value of the string + + + + + Add the parameter to the command... internal use only + + + + + + + Represents default type mapping strategy used by Dapper + + + + + Creates default type map + + Entity type + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns the constructor, if any, that has the ExplicitConstructorAttribute on it. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + Should column names like User_Id be allowed to match properties/fields like UserId ? + + + + + The settable properties for this typemap + + + + + A bag of parameters that can be passed to the Dapper Query and Execute methods + + + + + construct a dynamic parameter bag + + + + + construct a dynamic parameter bag + + can be an anonymous type or a DynamicParameters bag + + + + Append a whole object full of params to the dynamic + EG: AddDynamicParams(new {A = 1, B = 2}) // will add property A and B to the dynamic + + + + + + Add a parameter to this dynamic parameter list + + + + + Add a parameter to this dynamic parameter list + + + + + If true, the command-text is inspected and only values that are clearly used are included on the connection + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + All the names of the param in the bag, use Get to yank them out + + + + + Get the value of a parameter + + + + The value, note DBNull.Value is not returned, instead the value is returned as null + + + + Allows you to automatically populate a target property/field from output parameters. It actually + creates an InputOutput parameter, so you can still pass data in. + + + The object whose property/field you wish to populate. + A MemberExpression targeting a property/field of the target (or descendant thereof.) + + The size to set on the parameter. Defaults to 0, or DbString.DefaultLength in case of strings. + The DynamicParameters instance + + + + Tell Dapper to use an explicit constructor, passing nulls or 0s for all parameters + + + + + Handles variances in features per DBMS + + + + + Gets the feature set based on the passed connection + + + + + True if the db supports array columns e.g. Postgresql + + + + + Represents simple member map for one of target parameter or property or field to source DataReader column + + + + + Creates instance for simple property mapping + + DataReader column name + Target property + + + + Creates instance for simple field mapping + + DataReader column name + Target property + + + + Creates instance for simple constructor parameter mapping + + DataReader column name + Target constructor parameter + + + + DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Dapper, a light weight object mapper for ADO.NET + + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a single-row query asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Execute a command asynchronously using .NET 4.5 Task. + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + + + + + + The field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + The first type in the recordset + The second type in the recordset + The return type + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Maps a query to objects + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + The field we should split and read the second object from (default: id) + The command to execute + + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 5 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 6 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with 7 input parameters + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the recordset + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Called if the query cache is purged via PurgeQueryCache + + + + + Purge the query cache + + + + + Return a count of all the cached queries by dapper + + + + + + Return a list of all the queries cached by dapper + + + + + + + Deep diagnostics only: find any hash collisions in the cache + + + + + + Clear the registered type handlers + + + + + Configure the specified type to be mapped to a given db-type + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Configure the specified type to be processed by a custom handler + + + + + Get the DbType that maps to a given value + + + + + OBSOLETE: For internal usage only. Lookup the DbType and handler for a given Type and member + + + + + Obtains the data as a list; if it is *already* a list, the original object is returned without + any duplication; otherwise, ToList() is invoked. + + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL + + Number of rows affected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL that selects a single value + + The first cell selected + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Execute parameterized SQL and return an + + An that can be used to iterate over the results of the SQL query. + + This is typically used when the results of a query are not processed by Dapper, for example, used to fill a + or . + + + + + Return a sequence of dynamic objects with properties matching the columns + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Return a dynamic object with properties matching the columns + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Executes a query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per T + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a single-row query, returning the data typed as per the Type suggested + + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance or null of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single or null instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Executes a query, returning the data typed as per T + + the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object + A single instance of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is + created per row, and a direct column-name===member-name mapping is assumed (case insensitive). + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Execute a command that returns multiple result sets, and access each in turn + + + + + Maps a query to objects + + The first type in the record set + The second type in the record set + The return type + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Maps a query to objects + + + + + + + + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + + + + + + Perform a multi mapping query with 4 input parameters + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 5 input parameters + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 6 input parameters + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with 7 input parameters + + + + + + + + + + + + + + + + + + + + + + + Perform a multi mapping query with arbitrary input parameters + + The return type + + + array of types in the record set + + + + + The Field we should split and read the second object from (default: id) + Number of seconds before command execution timeout + Is it a stored proc or a batch? + + + + + Internal use only + + + + + + + Internal use only + + + + + Internal use only + + + + + Internal use only + + + + + OBSOLETE: For internal usage only. Sanitizes the paramter value with proper type casting. + + + + + Replace all literal tokens with their text form + + + + + Convert numeric values to their string form for SQL literal purposes + + + + + Internal use only + + + + + Gets type-map for the given type + + Type map instance, default is to create new instance of DefaultTypeMap + + + + Gets type-map for the given type + + Type map implementation, DefaultTypeMap instance if no override present + + + + Set custom mapping for type deserializers + + Entity type to override + Mapping rules impementation, null to remove custom map + + + + Internal use only + + + + + + + + + + + Throws a data exception, only used internally + + + + + How should connection strings be compared for equivalence? Defaults to StringComparer.Ordinal. + Providing a custom implementation can be useful for allowing multi-tenancy databases with identical + schema to share strategies. Note that usual equivalence rules apply: any equivalent connection strings + MUST yield the same hash-code. + + + + + Dummy type for excluding from multi-map + + + + + The grid reader provides interfaces for reading multiple result sets from a Dapper query + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results, returned as a dynamic object + + Note: each row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read an individual row of the next grid of results, returned as a dynamic object + + Note: the row can be accessed via "dynamic", or by casting to an IDictionary<string,object> + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read an individual row of the next grid of results + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Read multiple objects from a single record set on the grid + + + + + Has the underlying reader been consumed? + + + + + The command associated with the reader + + + + + Dispose the grid, closing and disposing both the underlying reader and command. + + + + + Implement this interface to pass an arbitrary db specific parameter to Dapper + + + + + Add the parameter needed to the command before it executes + + The raw command prior to execution + Parameter name + + + + Parses a data reader to a sequence of data of the supplied type. Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of data of the supplied type (as object). Used for deserializing a reader without a connection, etc. + + + + + Parses a data reader to a sequence of dynamic. Used for deserializing a reader without a connection, etc. + + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + + + Gets the row parser for a specific row on a data reader. This allows for type switching every row based on, for example, a TypeId column. + You could return a collection of the base type but have each more specific. + + The data reader to get the parser for the current row from + The type to get the parser for + The start column index of the object (default 0) + The length of columns to read (default -1 = all fields following startIndex) + Return null if we can't find the first column? (default false) + A parser for this specific object from this row. + + var result = new List<BaseType>(); + using (var reader = connection.ExecuteReader(@" + select 'abc' as Name, 1 as Type, 3.0 as Value + union all + select 'def' as Name, 2 as Type, 4.0 as Value")) + { + if (reader.Read()) + { + var toFoo = reader.GetRowParser<BaseType>(typeof(Foo)); + var toBar = reader.GetRowParser<BaseType>(typeof(Bar)); + var col = reader.GetOrdinal("Type"); + do + { + switch (reader.GetInt32(col)) + { + case 1: + result.Add(toFoo(reader)); + break; + case 2: + result.Add(toBar(reader)); + break; + } + } while (reader.Read()); + } + } + + abstract class BaseType + { + public abstract int Type { get; } + } + class Foo : BaseType + { + public string Name { get; set; } + public override int Type => 1; + } + class Bar : BaseType + { + public float Value { get; set; } + public override int Type => 2; + } + + + + + Identity of a cached query in Dapper, used for extensibility + + + + + Create an identity for use with DynamicParameters, internal use only + + + + + + + + + + + + + + The sql + + + + + The command type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compare 2 Identity objects + + + + + + + Implement this interface to pass an arbitrary db specific set of parameters to Dapper + + + + + Add all the parameters needed to the command just before it executes + + The raw command prior to execution + Information about the query + + + + Implements this interface to provide custom member mapping + + + + + Source DataReader column name + + + + + Target member type + + + + + Target property + + + + + Target field + + + + + Target constructor parameter + + + + + Extends IDynamicParameters with facilities for executing callbacks after commands have completed + + + + + Invoked when the command has executed + + + + + Extends IDynamicParameters providing by-name lookup of parameter values + + + + + Get the value of the specified parameter (return null if not found) + + + + + Implement this interface to perform custom type-based parameter handling and value parsing + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The type to parse to + The typed value + + + + Implement this interface to change default mapping of reader columns to type members + + + + + Finds best constructor + + DataReader column names + DataReader column types + Matching constructor or default one + + + + Returns a constructor which should *always* be used. + + Parameters will be default values, nulls for reference types and zero'd for value types. + + Use this class to force object creation away from parameterless constructors you don't control. + + + + + Gets mapping for constructor parameter + + Constructor to resolve + DataReader column name + Mapping implementation + + + + Gets member mapping for column + + DataReader column name + Mapping implementation + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Represents a placeholder for a value that should be replaced as a literal value in the resulting sql + + + + + The text in the original command that should be replaced + + + + + The name of the member referred to by the token + + + + + Permits specifying certain SqlMapper values globally. + + + + + Resets all Settings to their default values + + + + + Specifies the default Command Timeout for all Queries + + + + + Indicates whether nulls in data are silently ignored (default) vs actively applied and assigned to members + + + + + Should list expansions be padded with null-valued parameters, to prevent query-plan saturation? For example, + an 'in @foo' expansion with 7, 8 or 9 values will be sent as a list of 10 values, with 3, 2 or 1 of them null. + The padding size is relative to the size of the list; "next 10" under 150, "next 50" under 500, + "next 100" under 1500, etc. + + + Caution: this should be treated with care if your DB provider (or the specific configuration) allows for null + equality (aka "ansi nulls off"), as this may change the intent of your query; as such, this is disabled by + default and must be enabled. + + + + + If set (non-negative), when performing in-list expansions of integer types ("where id in @ids", etc), switch to a string_split based + operation if there are more than this many elements. Note that this feautre requires SQL Server 2016 / compatibility level 130 (or above). + + + + + Base-class for simple type-handlers + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Base-class for simple type-handlers that are based around strings + + + + + Parse a string into the expected type (the string will never be null) + + + + + Format an instace into a string (the instance will never be null) + + + + + Assign the value of a parameter before a command executes + + The parameter to configure + Parameter value + + + + Parse a database value back to a typed value + + The value from the database + The typed value + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + Not intended for direct usage + + + + + Describes a reader that controls the lifetime of both a command and a reader, + exposing the downstream command/reader as properties. + + + + + Obtain the underlying reader + + + + + Obtain the underlying command + + + +